@dbg-riskit/angular-auth
Version:
40 lines • 6 kB
JavaScript
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