angular-auth-oidc-client
Version:
Angular Lib for OpenID Connect & OAuth2
51 lines • 7.39 kB
JavaScript
import { DOCUMENT } from '@angular/common';
import { Injectable, inject } from '@angular/core';
import { of } from 'rxjs';
import { LoggerService } from '../../logging/logger.service';
import { FlowsDataService } from '../flows-data.service';
import { ResetAuthDataService } from '../reset-auth-data.service';
import * as i0 from "@angular/core";
export class ImplicitFlowCallbackHandlerService {
constructor() {
this.loggerService = inject(LoggerService);
this.resetAuthDataService = inject(ResetAuthDataService);
this.flowsDataService = inject(FlowsDataService);
this.document = inject(DOCUMENT);
}
// STEP 1 Code Flow
// STEP 1 Implicit Flow
implicitFlowCallback(config, allConfigs, hash) {
const isRenewProcessData = this.flowsDataService.isSilentRenewRunning(config);
this.loggerService.logDebug(config, 'BEGIN callback, no auth data');
if (!isRenewProcessData) {
this.resetAuthDataService.resetAuthorizationData(config, allConfigs);
}
hash = hash || this.document.location.hash.substring(1);
const authResult = hash
.split('&')
.reduce((resultData, item) => {
const parts = item.split('=');
resultData[parts.shift()] = parts.join('=');
return resultData;
}, {});
const callbackContext = {
code: '',
refreshToken: '',
state: '',
sessionState: null,
authResult,
isRenewProcess: isRenewProcessData,
jwtKeys: null,
validationResult: null,
existingIdToken: null,
};
return of(callbackContext);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ImplicitFlowCallbackHandlerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ImplicitFlowCallbackHandlerService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: ImplicitFlowCallbackHandlerService, decorators: [{
type: Injectable,
args: [{ providedIn: 'root' }]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wbGljaXQtZmxvdy1jYWxsYmFjay1oYW5kbGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWF1dGgtb2lkYy1jbGllbnQvc3JjL2xpYi9mbG93cy9jYWxsYmFjay1oYW5kbGluZy9pbXBsaWNpdC1mbG93LWNhbGxiYWNrLWhhbmRsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFjLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFN0QsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBR2xFLE1BQU0sT0FBTyxrQ0FBa0M7SUFEL0M7UUFFbUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFdEMseUJBQW9CLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFcEQscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7UUFFNUMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztLQTJDOUM7SUF6Q0MsbUJBQW1CO0lBQ25CLHVCQUF1QjtJQUN2QixvQkFBb0IsQ0FDbEIsTUFBMkIsRUFDM0IsVUFBaUMsRUFDakMsSUFBYTtRQUViLE1BQU0sa0JBQWtCLEdBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUVyRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsOEJBQThCLENBQUMsQ0FBQztRQUNwRSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsb0JBQW9CLENBQUMsc0JBQXNCLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFFRCxJQUFJLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFeEQsTUFBTSxVQUFVLEdBQUcsSUFBSTthQUNwQixLQUFLLENBQUMsR0FBRyxDQUFDO2FBQ1YsTUFBTSxDQUFDLENBQUMsVUFBZSxFQUFFLElBQVksRUFBRSxFQUFFO1lBQ3hDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFOUIsVUFBVSxDQUFDLEtBQUssQ0FBQyxLQUFLLEVBQVksQ0FBQyxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7WUFFdEQsT0FBTyxVQUFVLENBQUM7UUFDcEIsQ0FBQyxFQUFFLEVBQWdCLENBQUMsQ0FBQztRQUV2QixNQUFNLGVBQWUsR0FBb0I7WUFDdkMsSUFBSSxFQUFFLEVBQUU7WUFDUixZQUFZLEVBQUUsRUFBRTtZQUNoQixLQUFLLEVBQUUsRUFBRTtZQUNULFlBQVksRUFBRSxJQUFJO1lBQ2xCLFVBQVU7WUFDVixjQUFjLEVBQUUsa0JBQWtCO1lBQ2xDLE9BQU8sRUFBRSxJQUFJO1lBQ2IsZ0JBQWdCLEVBQUUsSUFBSTtZQUN0QixlQUFlLEVBQUUsSUFBSTtTQUN0QixDQUFDO1FBRUYsT0FBTyxFQUFFLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDN0IsQ0FBQzs4R0FqRFUsa0NBQWtDO2tIQUFsQyxrQ0FBa0MsY0FEckIsTUFBTTs7MkZBQ25CLGtDQUFrQztrQkFEOUMsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBPcGVuSWRDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vLi4vY29uZmlnL29wZW5pZC1jb25maWd1cmF0aW9uJztcbmltcG9ydCB7IExvZ2dlclNlcnZpY2UgfSBmcm9tICcuLi8uLi9sb2dnaW5nL2xvZ2dlci5zZXJ2aWNlJztcbmltcG9ydCB7IEF1dGhSZXN1bHQsIENhbGxiYWNrQ29udGV4dCB9IGZyb20gJy4uL2NhbGxiYWNrLWNvbnRleHQnO1xuaW1wb3J0IHsgRmxvd3NEYXRhU2VydmljZSB9IGZyb20gJy4uL2Zsb3dzLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBSZXNldEF1dGhEYXRhU2VydmljZSB9IGZyb20gJy4uL3Jlc2V0LWF1dGgtZGF0YS5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBJbXBsaWNpdEZsb3dDYWxsYmFja0hhbmRsZXJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXJTZXJ2aWNlID0gaW5qZWN0KExvZ2dlclNlcnZpY2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzZXRBdXRoRGF0YVNlcnZpY2UgPSBpbmplY3QoUmVzZXRBdXRoRGF0YVNlcnZpY2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZmxvd3NEYXRhU2VydmljZSA9IGluamVjdChGbG93c0RhdGFTZXJ2aWNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcblxuICAvLyBTVEVQIDEgQ29kZSBGbG93XG4gIC8vIFNURVAgMSBJbXBsaWNpdCBGbG93XG4gIGltcGxpY2l0Rmxvd0NhbGxiYWNrKFxuICAgIGNvbmZpZzogT3BlbklkQ29uZmlndXJhdGlvbixcbiAgICBhbGxDb25maWdzOiBPcGVuSWRDb25maWd1cmF0aW9uW10sXG4gICAgaGFzaD86IHN0cmluZ1xuICApOiBPYnNlcnZhYmxlPENhbGxiYWNrQ29udGV4dD4ge1xuICAgIGNvbnN0IGlzUmVuZXdQcm9jZXNzRGF0YSA9XG4gICAgICB0aGlzLmZsb3dzRGF0YVNlcnZpY2UuaXNTaWxlbnRSZW5ld1J1bm5pbmcoY29uZmlnKTtcblxuICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dEZWJ1Zyhjb25maWcsICdCRUdJTiBjYWxsYmFjaywgbm8gYXV0aCBkYXRhJyk7XG4gICAgaWYgKCFpc1JlbmV3UHJvY2Vzc0RhdGEpIHtcbiAgICAgIHRoaXMucmVzZXRBdXRoRGF0YVNlcnZpY2UucmVzZXRBdXRob3JpemF0aW9uRGF0YShjb25maWcsIGFsbENvbmZpZ3MpO1xuICAgIH1cblxuICAgIGhhc2ggPSBoYXNoIHx8IHRoaXMuZG9jdW1lbnQubG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSk7XG5cbiAgICBjb25zdCBhdXRoUmVzdWx0ID0gaGFzaFxuICAgICAgLnNwbGl0KCcmJylcbiAgICAgIC5yZWR1Y2UoKHJlc3VsdERhdGE6IGFueSwgaXRlbTogc3RyaW5nKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcnRzID0gaXRlbS5zcGxpdCgnPScpO1xuXG4gICAgICAgIHJlc3VsdERhdGFbcGFydHMuc2hpZnQoKSBhcyBzdHJpbmddID0gcGFydHMuam9pbignPScpO1xuXG4gICAgICAgIHJldHVybiByZXN1bHREYXRhO1xuICAgICAgfSwge30gYXMgQXV0aFJlc3VsdCk7XG5cbiAgICBjb25zdCBjYWxsYmFja0NvbnRleHQ6IENhbGxiYWNrQ29udGV4dCA9IHtcbiAgICAgIGNvZGU6ICcnLFxuICAgICAgcmVmcmVzaFRva2VuOiAnJyxcbiAgICAgIHN0YXRlOiAnJyxcbiAgICAgIHNlc3Npb25TdGF0ZTogbnVsbCxcbiAgICAgIGF1dGhSZXN1bHQsXG4gICAgICBpc1JlbmV3UHJvY2VzczogaXNSZW5ld1Byb2Nlc3NEYXRhLFxuICAgICAgand0S2V5czogbnVsbCxcbiAgICAgIHZhbGlkYXRpb25SZXN1bHQ6IG51bGwsXG4gICAgICBleGlzdGluZ0lkVG9rZW46IG51bGwsXG4gICAgfTtcblxuICAgIHJldHVybiBvZihjYWxsYmFja0NvbnRleHQpO1xuICB9XG59XG4iXX0=