UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

48 lines 8.11 kB
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=