@nebular/auth
Version:
@nebular/auth
48 lines • 6.21 kB
JavaScript
/**
* @license
* Copyright Akveo. All Rights Reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*/
import { Component, Inject } from '@angular/core';
import { NB_AUTH_OPTIONS } from '../../auth.options';
import { getDeepFromObject } from '../../helpers';
import * as i0 from "@angular/core";
import * as i1 from "../../services/auth.service";
import * as i2 from "@angular/router";
export class NbLogoutComponent {
constructor(service, options = {}, router) {
this.service = service;
this.options = options;
this.router = router;
this.redirectDelay = 0;
this.strategy = '';
this.redirectDelay = this.getConfigValue('forms.logout.redirectDelay');
this.strategy = this.getConfigValue('forms.logout.strategy');
}
ngOnInit() {
this.logout(this.strategy);
}
logout(strategy) {
this.service.logout(strategy).subscribe((result) => {
const redirect = result.getRedirect();
if (redirect) {
setTimeout(() => {
return this.router.navigateByUrl(redirect);
}, this.redirectDelay);
}
});
}
getConfigValue(key) {
return getDeepFromObject(this.options, key, null);
}
}
NbLogoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NbLogoutComponent, deps: [{ token: i1.NbAuthService }, { token: NB_AUTH_OPTIONS }, { token: i2.Router }], target: i0.ɵɵFactoryTarget.Component });
NbLogoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0", type: NbLogoutComponent, selector: "nb-logout", ngImport: i0, template: "<div>Logging out, please wait...</div>\n" });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: NbLogoutComponent, decorators: [{
type: Component,
args: [{ selector: 'nb-logout', template: "<div>Logging out, please wait...</div>\n" }]
}], ctorParameters: function () { return [{ type: i1.NbAuthService }, { type: undefined, decorators: [{
type: Inject,
args: [NB_AUTH_OPTIONS]
}] }, { type: i2.Router }]; } });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nb3V0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9mcmFtZXdvcmsvYXV0aC9jb21wb25lbnRzL2xvZ291dC9sb2dvdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vc3JjL2ZyYW1ld29yay9hdXRoL2NvbXBvbmVudHMvbG9nb3V0L2xvZ291dC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFHMUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7OztBQVFsRCxNQUFNLE9BQU8saUJBQWlCO0lBSzVCLFlBQXNCLE9BQXNCLEVBQ0csVUFBVSxFQUFFLEVBQ3JDLE1BQWM7UUFGZCxZQUFPLEdBQVAsT0FBTyxDQUFlO1FBQ0csWUFBTyxHQUFQLE9BQU8sQ0FBSztRQUNyQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBTHBDLGtCQUFhLEdBQVcsQ0FBQyxDQUFDO1FBQzFCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFLcEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLDRCQUE0QixDQUFDLENBQUM7UUFDdkUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLHVCQUF1QixDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsTUFBTSxDQUFDLFFBQWdCO1FBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQW9CLEVBQUUsRUFBRTtZQUUvRCxNQUFNLFFBQVEsR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDdEMsSUFBSSxRQUFRLEVBQUU7Z0JBQ1osVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUM3QyxDQUFDLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQ3hCO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLEdBQVc7UUFDeEIsT0FBTyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNwRCxDQUFDOzs4R0E5QlUsaUJBQWlCLCtDQU1SLGVBQWU7a0dBTnhCLGlCQUFpQixpRENqQjlCLDBDQUNBOzJGRGdCYSxpQkFBaUI7a0JBSjdCLFNBQVM7K0JBQ0UsV0FBVzs7MEJBU1IsTUFBTTsyQkFBQyxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEFrdmVvLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBMaWNlbnNlLiBTZWUgTGljZW5zZS50eHQgaW4gdGhlIHByb2plY3Qgcm9vdCBmb3IgbGljZW5zZSBpbmZvcm1hdGlvbi5cbiAqL1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcblxuaW1wb3J0IHsgTkJfQVVUSF9PUFRJT05TIH0gZnJvbSAnLi4vLi4vYXV0aC5vcHRpb25zJztcbmltcG9ydCB7IGdldERlZXBGcm9tT2JqZWN0IH0gZnJvbSAnLi4vLi4vaGVscGVycyc7XG5pbXBvcnQgeyBOYkF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcbmltcG9ydCB7IE5iQXV0aFJlc3VsdCB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2F1dGgtcmVzdWx0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmItbG9nb3V0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xvZ291dC5jb21wb25lbnQuaHRtbCcsXG59KVxuZXhwb3J0IGNsYXNzIE5iTG9nb3V0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcblxuICByZWRpcmVjdERlbGF5OiBudW1iZXIgPSAwO1xuICBzdHJhdGVneTogc3RyaW5nID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHNlcnZpY2U6IE5iQXV0aFNlcnZpY2UsXG4gICAgICAgICAgICAgIEBJbmplY3QoTkJfQVVUSF9PUFRJT05TKSBwcm90ZWN0ZWQgb3B0aW9ucyA9IHt9LFxuICAgICAgICAgICAgICBwcm90ZWN0ZWQgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICB0aGlzLnJlZGlyZWN0RGVsYXkgPSB0aGlzLmdldENvbmZpZ1ZhbHVlKCdmb3Jtcy5sb2dvdXQucmVkaXJlY3REZWxheScpO1xuICAgIHRoaXMuc3RyYXRlZ3kgPSB0aGlzLmdldENvbmZpZ1ZhbHVlKCdmb3Jtcy5sb2dvdXQuc3RyYXRlZ3knKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMubG9nb3V0KHRoaXMuc3RyYXRlZ3kpO1xuICB9XG5cbiAgbG9nb3V0KHN0cmF0ZWd5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICB0aGlzLnNlcnZpY2UubG9nb3V0KHN0cmF0ZWd5KS5zdWJzY3JpYmUoKHJlc3VsdDogTmJBdXRoUmVzdWx0KSA9PiB7XG5cbiAgICAgIGNvbnN0IHJlZGlyZWN0ID0gcmVzdWx0LmdldFJlZGlyZWN0KCk7XG4gICAgICBpZiAocmVkaXJlY3QpIHtcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwocmVkaXJlY3QpO1xuICAgICAgICB9LCB0aGlzLnJlZGlyZWN0RGVsYXkpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZ2V0Q29uZmlnVmFsdWUoa2V5OiBzdHJpbmcpOiBhbnkge1xuICAgIHJldHVybiBnZXREZWVwRnJvbU9iamVjdCh0aGlzLm9wdGlvbnMsIGtleSwgbnVsbCk7XG4gIH1cbn1cbiIsIjxkaXY+TG9nZ2luZyBvdXQsIHBsZWFzZSB3YWl0Li4uPC9kaXY+XG4iXX0=