UNPKG

angular-simple-oidc

Version:

Angular Library implementing Open Id Connect specification. Code Flow, Refresh Tokens, Session Management, Discovery Document.

50 lines 5.95 kB
import { NgModule } from '@angular/core'; import { SessionCheckService } from './session-check.service'; import { AuthorizeEndpointSilentClientService } from './authorize-endpoint-silent-client.service'; import { SESSION_MANAGEMENT_CONFIG, SESSION_MANAGEMENT_CONFIG_INITIALIZER, SESSION_MANAGEMENT_CONFIG_SERVICE_PROVIDER } from './providers'; import { SessionCheckDaemonService } from './session-check-daemon.service'; import { SilentFlowDaemonService } from './silent-flow-daemon.service'; /** * Implements Session Checks according to Session Management * https://openid.net/specs/openid-connect-session-1_0.html */ export class SessionManagementModule { constructor(sessionCheckDaemonService, silentFlowDaemonService) { this.sessionCheckDaemonService = sessionCheckDaemonService; this.silentFlowDaemonService = silentFlowDaemonService; this.sessionCheckDaemonService.startDaemon(); this.silentFlowDaemonService.startDaemon(); } /** * Should be called once on your Angular Root Application Module */ static forRoot(config) { // TODO: add sanity checks with forRoot + @Optional() return { ngModule: SessionManagementModule, providers: [ config != null ? { provide: SESSION_MANAGEMENT_CONFIG, useValue: config } : [], SESSION_MANAGEMENT_CONFIG_SERVICE_PROVIDER, SESSION_MANAGEMENT_CONFIG_INITIALIZER, ] }; } } SessionManagementModule.decorators = [ { type: NgModule, args: [{ providers: [ SessionCheckService, AuthorizeEndpointSilentClientService, SessionCheckDaemonService, SilentFlowDaemonService, ], },] } ]; SessionManagementModule.ctorParameters = () => [ { type: SessionCheckDaemonService }, { type: SilentFlowDaemonService } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1tYW5hZ2VtZW50Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItc2ltcGxlLW9pZGMvc3JjL2xpYi9zZXNzaW9uLW1hbmFnZW1lbnQvc2Vzc2lvbi1tYW5hZ2VtZW50Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUF3QixNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUNsRyxPQUFPLEVBQ0wseUJBQXlCLEVBQ3pCLHFDQUFxQyxFQUNyQywwQ0FBMEMsRUFDM0MsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDM0UsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFdkU7OztHQUdHO0FBU0gsTUFBTSxPQUFPLHVCQUF1QjtJQUNsQyxZQUNxQix5QkFBb0QsRUFDcEQsdUJBQWdEO1FBRGhELDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMkI7UUFDcEQsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUF5QjtRQUVuRSxJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0MsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQzdDLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxPQUFPLENBQUMsTUFBZ0M7UUFDcEQscURBQXFEO1FBRXJELE9BQU87WUFDTCxRQUFRLEVBQUUsdUJBQXVCO1lBQ2pDLFNBQVMsRUFBRTtnQkFDVCxNQUFNLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFDZixPQUFPLEVBQUUseUJBQXlCO29CQUNsQyxRQUFRLEVBQUUsTUFBTTtpQkFDakIsQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDTiwwQ0FBMEM7Z0JBQzFDLHFDQUFxQzthQUN0QztTQUNGLENBQUM7SUFDSixDQUFDOzs7WUFsQ0YsUUFBUSxTQUFDO2dCQUNSLFNBQVMsRUFBRTtvQkFDVCxtQkFBbUI7b0JBQ25CLG9DQUFvQztvQkFDcEMseUJBQXlCO29CQUN6Qix1QkFBdUI7aUJBQ3hCO2FBQ0Y7OztZQWRRLHlCQUF5QjtZQUN6Qix1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSwgIE1vZHVsZVdpdGhQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlc3Npb25DaGVja1NlcnZpY2UgfSBmcm9tICcuL3Nlc3Npb24tY2hlY2suc2VydmljZSc7XG5pbXBvcnQgeyBBdXRob3JpemVFbmRwb2ludFNpbGVudENsaWVudFNlcnZpY2UgfSBmcm9tICcuL2F1dGhvcml6ZS1lbmRwb2ludC1zaWxlbnQtY2xpZW50LnNlcnZpY2UnO1xuaW1wb3J0IHtcbiAgU0VTU0lPTl9NQU5BR0VNRU5UX0NPTkZJRyxcbiAgU0VTU0lPTl9NQU5BR0VNRU5UX0NPTkZJR19JTklUSUFMSVpFUixcbiAgU0VTU0lPTl9NQU5BR0VNRU5UX0NPTkZJR19TRVJWSUNFX1BST1ZJREVSXG59IGZyb20gJy4vcHJvdmlkZXJzJztcbmltcG9ydCB7IFNlc3Npb25NYW5hZ2VtZW50Q29uZmlnIH0gZnJvbSAnLi9tb2RlbHMnO1xuaW1wb3J0IHsgU2Vzc2lvbkNoZWNrRGFlbW9uU2VydmljZSB9IGZyb20gJy4vc2Vzc2lvbi1jaGVjay1kYWVtb24uc2VydmljZSc7XG5pbXBvcnQgeyBTaWxlbnRGbG93RGFlbW9uU2VydmljZSB9IGZyb20gJy4vc2lsZW50LWZsb3ctZGFlbW9uLnNlcnZpY2UnO1xuXG4vKipcbiAqIEltcGxlbWVudHMgU2Vzc2lvbiBDaGVja3MgYWNjb3JkaW5nIHRvIFNlc3Npb24gTWFuYWdlbWVudFxuICogaHR0cHM6Ly9vcGVuaWQubmV0L3NwZWNzL29wZW5pZC1jb25uZWN0LXNlc3Npb24tMV8wLmh0bWxcbiAqL1xuQE5nTW9kdWxlKHtcbiAgcHJvdmlkZXJzOiBbXG4gICAgU2Vzc2lvbkNoZWNrU2VydmljZSxcbiAgICBBdXRob3JpemVFbmRwb2ludFNpbGVudENsaWVudFNlcnZpY2UsXG4gICAgU2Vzc2lvbkNoZWNrRGFlbW9uU2VydmljZSxcbiAgICBTaWxlbnRGbG93RGFlbW9uU2VydmljZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgU2Vzc2lvbk1hbmFnZW1lbnRNb2R1bGUge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2Vzc2lvbkNoZWNrRGFlbW9uU2VydmljZTogU2Vzc2lvbkNoZWNrRGFlbW9uU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2lsZW50Rmxvd0RhZW1vblNlcnZpY2U6IFNpbGVudEZsb3dEYWVtb25TZXJ2aWNlLFxuICApIHtcbiAgICB0aGlzLnNlc3Npb25DaGVja0RhZW1vblNlcnZpY2Uuc3RhcnREYWVtb24oKTtcbiAgICB0aGlzLnNpbGVudEZsb3dEYWVtb25TZXJ2aWNlLnN0YXJ0RGFlbW9uKCk7XG4gIH1cblxuICAvKipcbiAgICogU2hvdWxkIGJlIGNhbGxlZCBvbmNlIG9uIHlvdXIgQW5ndWxhciBSb290IEFwcGxpY2F0aW9uIE1vZHVsZVxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBmb3JSb290KGNvbmZpZz86IFNlc3Npb25NYW5hZ2VtZW50Q29uZmlnKTogTW9kdWxlV2l0aFByb3ZpZGVyczxTZXNzaW9uTWFuYWdlbWVudE1vZHVsZT4ge1xuICAgIC8vIFRPRE86IGFkZCBzYW5pdHkgY2hlY2tzIHdpdGggZm9yUm9vdCArIEBPcHRpb25hbCgpXG5cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IFNlc3Npb25NYW5hZ2VtZW50TW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIGNvbmZpZyAhPSBudWxsID8ge1xuICAgICAgICAgIHByb3ZpZGU6IFNFU1NJT05fTUFOQUdFTUVOVF9DT05GSUcsXG4gICAgICAgICAgdXNlVmFsdWU6IGNvbmZpZ1xuICAgICAgICB9IDogW10sXG4gICAgICAgIFNFU1NJT05fTUFOQUdFTUVOVF9DT05GSUdfU0VSVklDRV9QUk9WSURFUixcbiAgICAgICAgU0VTU0lPTl9NQU5BR0VNRU5UX0NPTkZJR19JTklUSUFMSVpFUixcbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=