@netgrif/components-core
Version:
Netgrif Application engine frontend core Angular library
48 lines • 8.11 kB
JavaScript
import { Injectable } from '@angular/core';
import { HttpHeaders } from '@angular/common/http';
import { throwError } from 'rxjs';
import { AuthenticationMethodService } from '../../authentication-method.service';
import { encodeBase64 } from "../../../../utility/base64";
import * as i0 from "@angular/core";
import * as i1 from "@angular/common/http";
import * as i2 from "../../../../configuration/configuration.service";
export class BasicAuthenticationService extends AuthenticationMethodService {
_http;
_config;
constructor(_http, _config) {
super();
this._http = _http;
this._config = _config;
}
login(credentials = { username: '', password: '' }) {
const url = this._config.get().providers.auth.address + this._config.get().providers.auth.endpoints['login'];
if (!url) {
return throwError(new Error('Login URL is not defined in the config [nae.providers.auth.endpoints.login]'));
}
if (!credentials.username || !credentials.password) {
return throwError(new Error('User\'s credentials are not defined!'));
}
credentials.username = credentials.username.trim();
credentials.password = credentials.password.trim();
if (credentials.username === '' || credentials.password === '') {
return throwError(new Error('User\'s credentials are empty!'));
}
return this._http.get(url, {
headers: new HttpHeaders().set('Authorization', 'Basic ' +
encodeBase64(`${credentials.username}:${credentials.password}`))
});
}
logout() {
const url = this._config.get().providers.auth.address + this._config.get().providers.auth.endpoints['logout'];
if (!url) {
return throwError(new Error('Logout URL is not defined in the config [nae.providers.auth.endpoints.logout]'));
}
return this._http.post(url, {});
}
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BasicAuthenticationService, deps: [{ token: i1.HttpClient }, { token: i2.ConfigurationService }], target: i0.ɵɵFactoryTarget.Injectable });
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BasicAuthenticationService });
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BasicAuthenticationService, decorators: [{
type: Injectable
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.ConfigurationService }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzaWMtYXV0aGVudGljYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25ldGdyaWYtY29tcG9uZW50cy1jb3JlL3NyYy9saWIvYXV0aGVudGljYXRpb24vc2VydmljZXMvbWV0aG9kcy9iYXNpYy1hdXRoZW50aWNhdGlvbi9iYXNpYy1hdXRoZW50aWNhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFhLFdBQVcsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQzdELE9BQU8sRUFBYSxVQUFVLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFJaEYsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLDRCQUE0QixDQUFDOzs7O0FBSXhELE1BQU0sT0FBTywwQkFBMkIsU0FBUSwyQkFBMkI7SUFFbkQ7SUFBMkI7SUFBL0MsWUFBb0IsS0FBaUIsRUFBVSxPQUE2QjtRQUN4RSxLQUFLLEVBQUUsQ0FBQztRQURRLFVBQUssR0FBTCxLQUFLLENBQVk7UUFBVSxZQUFPLEdBQVAsT0FBTyxDQUFzQjtJQUU1RSxDQUFDO0lBRUQsS0FBSyxDQUFDLGNBQTJCLEVBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFDO1FBQ3pELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUM3RyxJQUFJLENBQUMsR0FBRyxFQUFFO1lBQ04sT0FBTyxVQUFVLENBQUMsSUFBSSxLQUFLLENBQUMsNkVBQTZFLENBQUMsQ0FBQyxDQUFDO1NBQy9HO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFO1lBQ2hELE9BQU8sVUFBVSxDQUFDLElBQUksS0FBSyxDQUFDLHNDQUFzQyxDQUFDLENBQUMsQ0FBQztTQUN4RTtRQUNELFdBQVcsQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNuRCxXQUFXLENBQUMsUUFBUSxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkQsSUFBSSxXQUFXLENBQUMsUUFBUSxLQUFLLEVBQUUsSUFBSSxXQUFXLENBQUMsUUFBUSxLQUFLLEVBQUUsRUFBRTtZQUM1RCxPQUFPLFVBQVUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxnQ0FBZ0MsQ0FBQyxDQUFDLENBQUM7U0FDbEU7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFlLEdBQUcsRUFBRTtZQUNyQyxPQUFPLEVBQUUsSUFBSSxXQUFXLEVBQUUsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLFFBQVE7Z0JBQ3BELFlBQVksQ0FBQyxHQUFHLFdBQVcsQ0FBQyxRQUFRLElBQUksV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7U0FDdkUsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELE1BQU07UUFDRixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDOUcsSUFBSSxDQUFDLEdBQUcsRUFBRTtZQUNOLE9BQU8sVUFBVSxDQUFDLElBQUksS0FBSyxDQUFDLCtFQUErRSxDQUFDLENBQUMsQ0FBQztTQUNqSDtRQUNELE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLENBQUM7d0dBL0JRLDBCQUEwQjs0R0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SHR0cENsaWVudCwgSHR0cEhlYWRlcnN9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7T2JzZXJ2YWJsZSwgdGhyb3dFcnJvcn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0F1dGhlbnRpY2F0aW9uTWV0aG9kU2VydmljZX0gZnJvbSAnLi4vLi4vYXV0aGVudGljYXRpb24tbWV0aG9kLnNlcnZpY2UnO1xuaW1wb3J0IHtDcmVkZW50aWFsc30gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NyZWRlbnRpYWxzJztcbmltcG9ydCB7Q29uZmlndXJhdGlvblNlcnZpY2V9IGZyb20gJy4uLy4uLy4uLy4uL2NvbmZpZ3VyYXRpb24vY29uZmlndXJhdGlvbi5zZXJ2aWNlJztcbmltcG9ydCB7VXNlclJlc291cmNlfSBmcm9tICcuLi8uLi8uLi8uLi9yZXNvdXJjZXMvaW50ZXJmYWNlL3VzZXItcmVzb3VyY2UnO1xuaW1wb3J0IHtlbmNvZGVCYXNlNjR9IGZyb20gXCIuLi8uLi8uLi8uLi91dGlsaXR5L2Jhc2U2NFwiO1xuXG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBCYXNpY0F1dGhlbnRpY2F0aW9uU2VydmljZSBleHRlbmRzIEF1dGhlbnRpY2F0aW9uTWV0aG9kU2VydmljZSB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIF9odHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIF9jb25maWc6IENvbmZpZ3VyYXRpb25TZXJ2aWNlKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbG9naW4oY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzID0ge3VzZXJuYW1lOiAnJywgcGFzc3dvcmQ6ICcnfSk6IE9ic2VydmFibGU8VXNlclJlc291cmNlPiB7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuX2NvbmZpZy5nZXQoKS5wcm92aWRlcnMuYXV0aC5hZGRyZXNzICsgdGhpcy5fY29uZmlnLmdldCgpLnByb3ZpZGVycy5hdXRoLmVuZHBvaW50c1snbG9naW4nXTtcbiAgICAgICAgaWYgKCF1cmwpIHtcbiAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKG5ldyBFcnJvcignTG9naW4gVVJMIGlzIG5vdCBkZWZpbmVkIGluIHRoZSBjb25maWcgW25hZS5wcm92aWRlcnMuYXV0aC5lbmRwb2ludHMubG9naW5dJykpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghY3JlZGVudGlhbHMudXNlcm5hbWUgfHwgIWNyZWRlbnRpYWxzLnBhc3N3b3JkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihuZXcgRXJyb3IoJ1VzZXJcXCdzIGNyZWRlbnRpYWxzIGFyZSBub3QgZGVmaW5lZCEnKSk7XG4gICAgICAgIH1cbiAgICAgICAgY3JlZGVudGlhbHMudXNlcm5hbWUgPSBjcmVkZW50aWFscy51c2VybmFtZS50cmltKCk7XG4gICAgICAgIGNyZWRlbnRpYWxzLnBhc3N3b3JkID0gY3JlZGVudGlhbHMucGFzc3dvcmQudHJpbSgpO1xuICAgICAgICBpZiAoY3JlZGVudGlhbHMudXNlcm5hbWUgPT09ICcnIHx8IGNyZWRlbnRpYWxzLnBhc3N3b3JkID09PSAnJykge1xuICAgICAgICAgICAgcmV0dXJuIHRocm93RXJyb3IobmV3IEVycm9yKCdVc2VyXFwncyBjcmVkZW50aWFscyBhcmUgZW1wdHkhJykpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwLmdldDxVc2VyUmVzb3VyY2U+KHVybCwge1xuICAgICAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKCkuc2V0KCdBdXRob3JpemF0aW9uJywgJ0Jhc2ljICcgK1xuICAgICAgICAgICAgICAgIGVuY29kZUJhc2U2NChgJHtjcmVkZW50aWFscy51c2VybmFtZX06JHtjcmVkZW50aWFscy5wYXNzd29yZH1gKSlcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbG9nb3V0KCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgICAgIGNvbnN0IHVybCA9IHRoaXMuX2NvbmZpZy5nZXQoKS5wcm92aWRlcnMuYXV0aC5hZGRyZXNzICsgdGhpcy5fY29uZmlnLmdldCgpLnByb3ZpZGVycy5hdXRoLmVuZHBvaW50c1snbG9nb3V0J107XG4gICAgICAgIGlmICghdXJsKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhyb3dFcnJvcihuZXcgRXJyb3IoJ0xvZ291dCBVUkwgaXMgbm90IGRlZmluZWQgaW4gdGhlIGNvbmZpZyBbbmFlLnByb3ZpZGVycy5hdXRoLmVuZHBvaW50cy5sb2dvdXRdJykpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9odHRwLnBvc3QodXJsLCB7fSk7XG4gICAgfVxuXG59XG4iXX0=