angular-auth-oidc-client
Version:
Angular Lib for OpenID Connect & OAuth2
53 lines • 8.47 kB
JavaScript
import { Injectable, inject } from '@angular/core';
import { AuthWellKnownService } from '../../config/auth-well-known/auth-well-known.service';
import { FlowsDataService } from '../../flows/flows-data.service';
import { LoggerService } from '../../logging/logger.service';
import { RedirectService } from '../../utils/redirect/redirect.service';
import { UrlService } from '../../utils/url/url.service';
import { ResponseTypeValidationService } from '../response-type-validation/response-type-validation.service';
import * as i0 from "@angular/core";
export class StandardLoginService {
constructor() {
this.loggerService = inject(LoggerService);
this.responseTypeValidationService = inject(ResponseTypeValidationService);
this.urlService = inject(UrlService);
this.redirectService = inject(RedirectService);
this.authWellKnownService = inject(AuthWellKnownService);
this.flowsDataService = inject(FlowsDataService);
}
loginStandard(configuration, authOptions) {
if (!this.responseTypeValidationService.hasConfigValidResponseType(configuration)) {
this.loggerService.logError(configuration, 'Invalid response type!');
return;
}
this.loggerService.logDebug(configuration, 'BEGIN Authorize OIDC Flow, no auth data');
this.flowsDataService.setCodeFlowInProgress(configuration);
this.authWellKnownService
.queryAndStoreAuthWellKnownEndPoints(configuration)
.subscribe(() => {
const { urlHandler } = authOptions || {};
this.flowsDataService.resetSilentRenewRunning(configuration);
this.urlService
.getAuthorizeUrl(configuration, authOptions)
.subscribe((url) => {
if (!url) {
this.loggerService.logError(configuration, 'Could not create URL', url);
return;
}
if (urlHandler) {
urlHandler(url);
}
else {
this.redirectService.redirectTo(url);
}
});
});
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: StandardLoginService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: StandardLoginService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: StandardLoginService, decorators: [{
type: Injectable,
args: [{ providedIn: 'root' }]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhbmRhcmQtbG9naW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItYXV0aC1vaWRjLWNsaWVudC9zcmMvbGliL2xvZ2luL3N0YW5kYXJkL3N0YW5kYXJkLWxvZ2luLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0RBQXNELENBQUM7QUFFNUYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDekQsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sOERBQThELENBQUM7O0FBRzdHLE1BQU0sT0FBTyxvQkFBb0I7SUFEakM7UUFFbUIsa0JBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7UUFFdEMsa0NBQTZCLEdBQUcsTUFBTSxDQUNyRCw2QkFBNkIsQ0FDOUIsQ0FBQztRQUVlLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEMsb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFMUMseUJBQW9CLEdBQUcsTUFBTSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFcEQscUJBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FrRDlEO0lBaERDLGFBQWEsQ0FDWCxhQUFrQyxFQUNsQyxXQUF5QjtRQUV6QixJQUNFLENBQUMsSUFBSSxDQUFDLDZCQUE2QixDQUFDLDBCQUEwQixDQUM1RCxhQUFhLENBQ2QsRUFDRCxDQUFDO1lBQ0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsYUFBYSxFQUFFLHdCQUF3QixDQUFDLENBQUM7WUFFckUsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FDekIsYUFBYSxFQUNiLHlDQUF5QyxDQUMxQyxDQUFDO1FBQ0YsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBRTNELElBQUksQ0FBQyxvQkFBb0I7YUFDdEIsbUNBQW1DLENBQUMsYUFBYSxDQUFDO2FBQ2xELFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZCxNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsV0FBVyxJQUFJLEVBQUUsQ0FBQztZQUV6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsdUJBQXVCLENBQUMsYUFBYSxDQUFDLENBQUM7WUFFN0QsSUFBSSxDQUFDLFVBQVU7aUJBQ1osZUFBZSxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUM7aUJBQzNDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7b0JBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQ3pCLGFBQWEsRUFDYixzQkFBc0IsRUFDdEIsR0FBRyxDQUNKLENBQUM7b0JBRUYsT0FBTztnQkFDVCxDQUFDO2dCQUVELElBQUksVUFBVSxFQUFFLENBQUM7b0JBQ2YsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUNsQixDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3ZDLENBQUM7WUFDSCxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQzs4R0E5RFUsb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FEUCxNQUFNOzsyRkFDbkIsb0JBQW9CO2tCQURoQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXV0aE9wdGlvbnMgfSBmcm9tICcuLi8uLi9hdXRoLW9wdGlvbnMnO1xuaW1wb3J0IHsgQXV0aFdlbGxLbm93blNlcnZpY2UgfSBmcm9tICcuLi8uLi9jb25maWcvYXV0aC13ZWxsLWtub3duL2F1dGgtd2VsbC1rbm93bi5zZXJ2aWNlJztcbmltcG9ydCB7IE9wZW5JZENvbmZpZ3VyYXRpb24gfSBmcm9tICcuLi8uLi9jb25maWcvb3BlbmlkLWNvbmZpZ3VyYXRpb24nO1xuaW1wb3J0IHsgRmxvd3NEYXRhU2VydmljZSB9IGZyb20gJy4uLy4uL2Zsb3dzL2Zsb3dzLWRhdGEuc2VydmljZSc7XG5pbXBvcnQgeyBMb2dnZXJTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vbG9nZ2luZy9sb2dnZXIuc2VydmljZSc7XG5pbXBvcnQgeyBSZWRpcmVjdFNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy9yZWRpcmVjdC9yZWRpcmVjdC5zZXJ2aWNlJztcbmltcG9ydCB7IFVybFNlcnZpY2UgfSBmcm9tICcuLi8uLi91dGlscy91cmwvdXJsLnNlcnZpY2UnO1xuaW1wb3J0IHsgUmVzcG9uc2VUeXBlVmFsaWRhdGlvblNlcnZpY2UgfSBmcm9tICcuLi9yZXNwb25zZS10eXBlLXZhbGlkYXRpb24vcmVzcG9uc2UtdHlwZS12YWxpZGF0aW9uLnNlcnZpY2UnO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIFN0YW5kYXJkTG9naW5TZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBsb2dnZXJTZXJ2aWNlID0gaW5qZWN0KExvZ2dlclNlcnZpY2UpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcmVzcG9uc2VUeXBlVmFsaWRhdGlvblNlcnZpY2UgPSBpbmplY3QoXG4gICAgUmVzcG9uc2VUeXBlVmFsaWRhdGlvblNlcnZpY2VcbiAgKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHVybFNlcnZpY2UgPSBpbmplY3QoVXJsU2VydmljZSk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSByZWRpcmVjdFNlcnZpY2UgPSBpbmplY3QoUmVkaXJlY3RTZXJ2aWNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGF1dGhXZWxsS25vd25TZXJ2aWNlID0gaW5qZWN0KEF1dGhXZWxsS25vd25TZXJ2aWNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGZsb3dzRGF0YVNlcnZpY2UgPSBpbmplY3QoRmxvd3NEYXRhU2VydmljZSk7XG5cbiAgbG9naW5TdGFuZGFyZChcbiAgICBjb25maWd1cmF0aW9uOiBPcGVuSWRDb25maWd1cmF0aW9uLFxuICAgIGF1dGhPcHRpb25zPzogQXV0aE9wdGlvbnNcbiAgKTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgIXRoaXMucmVzcG9uc2VUeXBlVmFsaWRhdGlvblNlcnZpY2UuaGFzQ29uZmlnVmFsaWRSZXNwb25zZVR5cGUoXG4gICAgICAgIGNvbmZpZ3VyYXRpb25cbiAgICAgIClcbiAgICApIHtcbiAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dFcnJvcihjb25maWd1cmF0aW9uLCAnSW52YWxpZCByZXNwb25zZSB0eXBlIScpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5sb2dnZXJTZXJ2aWNlLmxvZ0RlYnVnKFxuICAgICAgY29uZmlndXJhdGlvbixcbiAgICAgICdCRUdJTiBBdXRob3JpemUgT0lEQyBGbG93LCBubyBhdXRoIGRhdGEnXG4gICAgKTtcbiAgICB0aGlzLmZsb3dzRGF0YVNlcnZpY2Uuc2V0Q29kZUZsb3dJblByb2dyZXNzKGNvbmZpZ3VyYXRpb24pO1xuXG4gICAgdGhpcy5hdXRoV2VsbEtub3duU2VydmljZVxuICAgICAgLnF1ZXJ5QW5kU3RvcmVBdXRoV2VsbEtub3duRW5kUG9pbnRzKGNvbmZpZ3VyYXRpb24pXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgY29uc3QgeyB1cmxIYW5kbGVyIH0gPSBhdXRoT3B0aW9ucyB8fCB7fTtcblxuICAgICAgICB0aGlzLmZsb3dzRGF0YVNlcnZpY2UucmVzZXRTaWxlbnRSZW5ld1J1bm5pbmcoY29uZmlndXJhdGlvbik7XG5cbiAgICAgICAgdGhpcy51cmxTZXJ2aWNlXG4gICAgICAgICAgLmdldEF1dGhvcml6ZVVybChjb25maWd1cmF0aW9uLCBhdXRoT3B0aW9ucylcbiAgICAgICAgICAuc3Vic2NyaWJlKCh1cmwpID0+IHtcbiAgICAgICAgICAgIGlmICghdXJsKSB7XG4gICAgICAgICAgICAgIHRoaXMubG9nZ2VyU2VydmljZS5sb2dFcnJvcihcbiAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uLFxuICAgICAgICAgICAgICAgICdDb3VsZCBub3QgY3JlYXRlIFVSTCcsXG4gICAgICAgICAgICAgICAgdXJsXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodXJsSGFuZGxlcikge1xuICAgICAgICAgICAgICB1cmxIYW5kbGVyKHVybCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICB0aGlzLnJlZGlyZWN0U2VydmljZS5yZWRpcmVjdFRvKHVybCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgfVxufVxuIl19