UNPKG

@netgrif/components-core

Version:

Netgrif Application engine frontend core Angular library

51 lines 8.1 kB
import { NullAuthenticationService } from './services/methods/null-authentication/null-authentication.service'; import { BasicAuthenticationService } from './services/methods/basic-authentication/basic-authentication.service'; import { BasicWithRealmAuthenticationService } from "./services/methods/basic-authentication/basic-with-realm-authentication.service"; import { filter, take } from "rxjs/operators"; import { Injectable } from "@angular/core"; import { AuthenticationMethodService } from "./services/authentication-method.service"; import * as i0 from "@angular/core"; import * as i1 from "../configuration/configuration.service"; import * as i2 from "@angular/common/http"; export class ProxyAuthenticationService extends AuthenticationMethodService { _config; _http; _proxyAuthMethod = new NullAuthenticationService(); constructor(_config, _http) { super(); this._config = _config; this._http = _http; this._config.loaded$ .pipe(filter(loaded => !!loaded), take(1)) .subscribe(() => { const snapshot = this._config.snapshot; const auth = snapshot?.providers?.auth; if (!auth || !auth.authentication) { this._proxyAuthMethod = new NullAuthenticationService(); return; } const authType = auth.authentication.toLowerCase(); if (authType === 'basic') { this._proxyAuthMethod = new BasicAuthenticationService(this._http, this._config); } else if (authType === 'basicwithrealm') { this._proxyAuthMethod = new BasicWithRealmAuthenticationService(this._http, this._config); } else { this._proxyAuthMethod = new NullAuthenticationService(); } }); } login(credentials) { return this._proxyAuthMethod.login(credentials); } logout() { return this._proxyAuthMethod.logout(); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProxyAuthenticationService, deps: [{ token: i1.ConfigurationService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable }); static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProxyAuthenticationService }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ProxyAuthenticationService, decorators: [{ type: Injectable }], ctorParameters: () => [{ type: i1.ConfigurationService }, { type: i2.HttpClient }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJveHlBdXRoZW50aWNhdGlvbi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmV0Z3JpZi1jb21wb25lbnRzLWNvcmUvc3JjL2xpYi9hdXRoZW50aWNhdGlvbi9wcm94eUF1dGhlbnRpY2F0aW9uLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFDLHlCQUF5QixFQUFDLE1BQU0sb0VBQW9FLENBQUM7QUFDN0csT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sc0VBQXNFLENBQUM7QUFFaEgsT0FBTyxFQUFDLG1DQUFtQyxFQUFDLE1BQU0saUZBQWlGLENBQUM7QUFDcEksT0FBTyxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUk1QyxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBQywyQkFBMkIsRUFBQyxNQUFNLDBDQUEwQyxDQUFDOzs7O0FBR3JGLE1BQU0sT0FBTywwQkFBMkIsU0FBUSwyQkFBMkI7SUFJbkQ7SUFBdUM7SUFGbkQsZ0JBQWdCLEdBQWdDLElBQUkseUJBQXlCLEVBQUUsQ0FBQztJQUV4RixZQUFvQixPQUE2QixFQUFVLEtBQWlCO1FBQ3hFLEtBQUssRUFBRSxDQUFDO1FBRFEsWUFBTyxHQUFQLE9BQU8sQ0FBc0I7UUFBVSxVQUFLLEdBQUwsS0FBSyxDQUFZO1FBRXhFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTzthQUNmLElBQUksQ0FDRCxNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQzFCLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FDVjthQUNBLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDWixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQztZQUN2QyxNQUFNLElBQUksR0FBRyxRQUFRLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQztZQUV2QyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDL0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUkseUJBQXlCLEVBQUUsQ0FBQztnQkFDeEQsT0FBTzthQUNWO1lBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUNuRCxJQUFJLFFBQVEsS0FBSyxPQUFPLEVBQUU7Z0JBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxJQUFJLDBCQUEwQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3BGO2lCQUFNLElBQUksUUFBUSxLQUFLLGdCQUFnQixFQUFFO2dCQUN0QyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxtQ0FBbUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUM3RjtpQkFBTTtnQkFDSCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSx5QkFBeUIsRUFBRSxDQUFDO2FBQzNEO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDWCxDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQXdCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRUQsTUFBTTtRQUNGLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzFDLENBQUM7d0dBckNRLDBCQUEwQjs0R0FBMUIsMEJBQTBCOzs0RkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb25maWd1cmF0aW9uU2VydmljZX0gZnJvbSAnLi4vY29uZmlndXJhdGlvbi9jb25maWd1cmF0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtOdWxsQXV0aGVudGljYXRpb25TZXJ2aWNlfSBmcm9tICcuL3NlcnZpY2VzL21ldGhvZHMvbnVsbC1hdXRoZW50aWNhdGlvbi9udWxsLWF1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtCYXNpY0F1dGhlbnRpY2F0aW9uU2VydmljZX0gZnJvbSAnLi9zZXJ2aWNlcy9tZXRob2RzL2Jhc2ljLWF1dGhlbnRpY2F0aW9uL2Jhc2ljLWF1dGhlbnRpY2F0aW9uLnNlcnZpY2UnO1xuaW1wb3J0IHtIdHRwQ2xpZW50fSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQge0Jhc2ljV2l0aFJlYWxtQXV0aGVudGljYXRpb25TZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9tZXRob2RzL2Jhc2ljLWF1dGhlbnRpY2F0aW9uL2Jhc2ljLXdpdGgtcmVhbG0tYXV0aGVudGljYXRpb24uc2VydmljZVwiO1xuaW1wb3J0IHtmaWx0ZXIsIHRha2V9IGZyb20gXCJyeGpzL29wZXJhdG9yc1wiO1xuaW1wb3J0IHtVc2VyUmVzb3VyY2V9IGZyb20gXCIuLi9yZXNvdXJjZXMvaW50ZXJmYWNlL3VzZXItcmVzb3VyY2VcIjtcbmltcG9ydCB7Q3JlZGVudGlhbHN9IGZyb20gXCIuL21vZGVscy9jcmVkZW50aWFsc1wiO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcbmltcG9ydCB7SW5qZWN0YWJsZX0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7QXV0aGVudGljYXRpb25NZXRob2RTZXJ2aWNlfSBmcm9tIFwiLi9zZXJ2aWNlcy9hdXRoZW50aWNhdGlvbi1tZXRob2Quc2VydmljZVwiO1xuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgUHJveHlBdXRoZW50aWNhdGlvblNlcnZpY2UgZXh0ZW5kcyBBdXRoZW50aWNhdGlvbk1ldGhvZFNlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBfcHJveHlBdXRoTWV0aG9kOiBBdXRoZW50aWNhdGlvbk1ldGhvZFNlcnZpY2UgPSBuZXcgTnVsbEF1dGhlbnRpY2F0aW9uU2VydmljZSgpO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSBfY29uZmlnOiBDb25maWd1cmF0aW9uU2VydmljZSwgcHJpdmF0ZSBfaHR0cDogSHR0cENsaWVudCkge1xuICAgICAgICBzdXBlcigpO1xuICAgICAgICB0aGlzLl9jb25maWcubG9hZGVkJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgZmlsdGVyKGxvYWRlZCA9PiAhIWxvYWRlZCksXG4gICAgICAgICAgICAgICAgdGFrZSgxKVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3Qgc25hcHNob3QgPSB0aGlzLl9jb25maWcuc25hcHNob3Q7XG4gICAgICAgICAgICAgICAgY29uc3QgYXV0aCA9IHNuYXBzaG90Py5wcm92aWRlcnM/LmF1dGg7XG5cbiAgICAgICAgICAgICAgICBpZiAoIWF1dGggfHwgIWF1dGguYXV0aGVudGljYXRpb24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fcHJveHlBdXRoTWV0aG9kID0gbmV3IE51bGxBdXRoZW50aWNhdGlvblNlcnZpY2UoKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGNvbnN0IGF1dGhUeXBlID0gYXV0aC5hdXRoZW50aWNhdGlvbi50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgICAgIGlmIChhdXRoVHlwZSA9PT0gJ2Jhc2ljJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9wcm94eUF1dGhNZXRob2QgPSBuZXcgQmFzaWNBdXRoZW50aWNhdGlvblNlcnZpY2UodGhpcy5faHR0cCwgdGhpcy5fY29uZmlnKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGF1dGhUeXBlID09PSAnYmFzaWN3aXRocmVhbG0nKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Byb3h5QXV0aE1ldGhvZCA9IG5ldyBCYXNpY1dpdGhSZWFsbUF1dGhlbnRpY2F0aW9uU2VydmljZSh0aGlzLl9odHRwLCB0aGlzLl9jb25maWcpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3Byb3h5QXV0aE1ldGhvZCA9IG5ldyBOdWxsQXV0aGVudGljYXRpb25TZXJ2aWNlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbG9naW4oY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzKTogT2JzZXJ2YWJsZTxVc2VyUmVzb3VyY2U+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Byb3h5QXV0aE1ldGhvZC5sb2dpbihjcmVkZW50aWFscyk7XG4gICAgfVxuXG4gICAgbG9nb3V0KCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9wcm94eUF1dGhNZXRob2QubG9nb3V0KCk7XG4gICAgfVxufVxuIl19