UNPKG

@dbg-riskit/angular-auth

Version:

40 lines 6 kB
import { HttpHeaders, HttpParams } from '@angular/common/http'; import { Inject, Injectable } from '@angular/core'; import { CONTENT_TYPE } from '@dbg-riskit/common'; import { map, shareReplay } from 'rxjs/operators'; import { AUTH_CONFIG } from './auth.config'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common/http"; export class WellKnownService { constructor(http, authConfig) { this.http = http; this.authConfig = authConfig; const params = new HttpParams(); params.append('_', Date.now().toFixed(0)); this._wellKnown = this.http.get(this.authConfig.wellKnown, { params, headers: new HttpHeaders({ accept: CONTENT_TYPE.APPLICATION_JSON }) }).pipe(map((wellKnown) => ({ endpoints: { auth: wellKnown.authorization_endpoint, token: wellKnown.token_endpoint, logout: wellKnown.end_session_endpoint }, issuer: wellKnown.issuer })), shareReplay(1)); } get wellKnown() { return this._wellKnown; } } WellKnownService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: WellKnownService, deps: [{ token: i1.HttpClient }, { token: AUTH_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable }); WellKnownService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: WellKnownService }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.6", ngImport: i0, type: WellKnownService, decorators: [{ type: Injectable }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{ type: Inject, args: [AUTH_CONFIG] }] }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2VsbC5rbm93bi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGtnL2RiZy1yaXNraXQvYW5ndWxhci1hdXRoL3NyYy9saWIvd2VsbC5rbm93bi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYSxXQUFXLEVBQUUsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDekUsT0FBTyxFQUFDLE1BQU0sRUFBRSxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLG9CQUFvQixDQUFDO0FBRWhELE9BQU8sRUFBQyxHQUFHLEVBQUUsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFDLFdBQVcsRUFBYSxNQUFNLGVBQWUsQ0FBQzs7O0FBWXRELE1BQU0sT0FBTyxnQkFBZ0I7SUFJekIsWUFBb0MsSUFBZ0IsRUFDSyxVQUFzQjtRQUQzQyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQ0ssZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUMzRSxNQUFNLE1BQU0sR0FBRyxJQUFJLFVBQVUsRUFBRSxDQUFDO1FBQ2hDLE1BQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUs1QixJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRTtZQUMxQixNQUFNO1lBQ04sT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO2dCQUNyQixNQUFNLEVBQUUsWUFBWSxDQUFDLGdCQUFnQjthQUN4QyxDQUFDO1NBQ0wsQ0FBQyxDQUFDLElBQUksQ0FDSCxHQUFHLENBQUMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLENBQ1g7WUFDSSxTQUFTLEVBQUU7Z0JBQ1AsSUFBSSxFQUFJLFNBQVMsQ0FBQyxzQkFBc0I7Z0JBQ3hDLEtBQUssRUFBRyxTQUFTLENBQUMsY0FBYztnQkFDaEMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxvQkFBb0I7YUFDekM7WUFDRCxNQUFNLEVBQUssU0FBUyxDQUFDLE1BQU07U0FDOUIsQ0FDSixDQUNKLEVBQ0QsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNqQixDQUFDO0lBQ04sQ0FBQztJQUVELElBQVcsU0FBUztRQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQzs7NkdBcENRLGdCQUFnQiw0Q0FLRSxXQUFXO2lIQUw3QixnQkFBZ0I7MkZBQWhCLGdCQUFnQjtrQkFENUIsVUFBVTs7MEJBTWEsTUFBTTsyQkFBQyxXQUFXIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtIdHRwQ2xpZW50LCBIdHRwSGVhZGVycywgSHR0cFBhcmFtc30gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHtJbmplY3QsIEluamVjdGFibGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtDT05URU5UX1RZUEV9IGZyb20gJ0BkYmctcmlza2l0L2NvbW1vbic7XG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHttYXAsIHNoYXJlUmVwbGF5fSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge0FVVEhfQ09ORklHLCBBdXRoQ29uZmlnfSBmcm9tICcuL2F1dGguY29uZmlnJztcblxuZXhwb3J0IGludGVyZmFjZSBXZWxsS25vd24ge1xuICAgIGVuZHBvaW50czoge1xuICAgICAgICBhdXRoOiBzdHJpbmc7XG4gICAgICAgIHRva2VuOiBzdHJpbmc7XG4gICAgICAgIGxvZ291dDogc3RyaW5nO1xuICAgIH07XG4gICAgaXNzdWVyOiBzdHJpbmc7XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBXZWxsS25vd25TZXJ2aWNlIHtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgX3dlbGxLbm93bjogT2JzZXJ2YWJsZTxXZWxsS25vd24+O1xuXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgQEluamVjdChBVVRIX0NPTkZJRykgcHJpdmF0ZSByZWFkb25seSBhdXRoQ29uZmlnOiBBdXRoQ29uZmlnKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtcyA9IG5ldyBIdHRwUGFyYW1zKCk7XG4gICAgICAgIHBhcmFtcy5hcHBlbmQoJ18nLCBEYXRlLm5vdygpLnRvRml4ZWQoMCkpO1xuICAgICAgICB0aGlzLl93ZWxsS25vd24gPSB0aGlzLmh0dHAuZ2V0PHtcbiAgICAgICAgICAgIGF1dGhvcml6YXRpb25fZW5kcG9pbnQ6IHN0cmluZztcbiAgICAgICAgICAgIHRva2VuX2VuZHBvaW50OiBzdHJpbmc7XG4gICAgICAgICAgICBlbmRfc2Vzc2lvbl9lbmRwb2ludDogc3RyaW5nO1xuICAgICAgICAgICAgaXNzdWVyOiBzdHJpbmc7XG4gICAgICAgIH0+KHRoaXMuYXV0aENvbmZpZy53ZWxsS25vd24sIHtcbiAgICAgICAgICAgIHBhcmFtcyxcbiAgICAgICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgICAgICAgYWNjZXB0OiBDT05URU5UX1RZUEUuQVBQTElDQVRJT05fSlNPTlxuICAgICAgICAgICAgfSlcbiAgICAgICAgfSkucGlwZShcbiAgICAgICAgICAgIG1hcCgod2VsbEtub3duKSA9PiAoXG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZHBvaW50czoge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dGggIDogd2VsbEtub3duLmF1dGhvcml6YXRpb25fZW5kcG9pbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9rZW4gOiB3ZWxsS25vd24udG9rZW5fZW5kcG9pbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9nb3V0OiB3ZWxsS25vd24uZW5kX3Nlc3Npb25fZW5kcG9pbnRcbiAgICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgICBpc3N1ZXIgICA6IHdlbGxLbm93bi5pc3N1ZXJcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXQgd2VsbEtub3duKCk6IE9ic2VydmFibGU8V2VsbEtub3duPiB7XG4gICAgICAgIHJldHVybiB0aGlzLl93ZWxsS25vd247XG4gICAgfVxufVxuIl19