UNPKG

@okta/okta-angular

Version:
73 lines 8.97 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; /* * Copyright (c) 2017-Present, Okta, Inc. and/or its affiliates. All rights reserved. * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.") * * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0. * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * * See the License for the specific language governing permissions and limitations under the License. */ import { Component, Optional, Inject } from '@angular/core'; import { OKTA_AUTH } from '../models/okta.config'; import * as i0 from "@angular/core"; import * as i1 from "../services/auth-config.serice"; import * as i2 from "@okta/okta-auth-js"; export class OktaCallbackComponent { constructor(configService, oktaAuth, injector) { this.configService = configService; this.oktaAuth = oktaAuth; this.injector = injector; } ngOnInit() { return __awaiter(this, void 0, void 0, function* () { const config = this.configService.getConfig(); if (!config) { throw new Error('Okta config is not provided'); } try { // Parse code or tokens from the URL, store tokens in the TokenManager, and redirect back to the originalUri yield this.oktaAuth.handleLoginRedirect(); } catch (e) { // Callback from social IDP. Show custom login page to continue. // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore Supports auth-js v5 & v6-7 const isInteractionRequiredError = this.oktaAuth.isInteractionRequiredError || this.oktaAuth.idx.isInteractionRequiredError; if (isInteractionRequiredError(e) && this.injector) { const { onAuthResume, onAuthRequired } = config; const callbackFn = onAuthResume || onAuthRequired; if (callbackFn) { callbackFn(this.oktaAuth, this.injector); return; } } this.error = e.toString(); } }); } } OktaCallbackComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OktaCallbackComponent, deps: [{ token: i1.OktaAuthConfigService }, { token: OKTA_AUTH }, { token: i0.Injector, optional: true }], target: i0.ɵɵFactoryTarget.Component }); OktaCallbackComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: OktaCallbackComponent, selector: "ng-component", ngImport: i0, template: `<div>{{error}}</div>`, isInline: true }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: OktaCallbackComponent, decorators: [{ type: Component, args: [{ template: `<div>{{error}}</div>` }] }], ctorParameters: function () { return [{ type: i1.OktaAuthConfigService }, { type: i2.OktaAuth, decorators: [{ type: Inject, args: [OKTA_AUTH] }] }, { type: i0.Injector, decorators: [{ type: Optional }] }]; } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbGJhY2suY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vbGliL3NyYy9va3RhL2NvbXBvbmVudHMvY2FsbGJhY2suY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFFSCxPQUFPLEVBQUUsU0FBUyxFQUFVLFFBQVEsRUFBWSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHVCQUF1QixDQUFDOzs7O0FBTWxELE1BQU0sT0FBTyxxQkFBcUI7SUFHaEMsWUFDVSxhQUFvQyxFQUNqQixRQUFrQixFQUN6QixRQUFtQjtRQUYvQixrQkFBYSxHQUFiLGFBQWEsQ0FBdUI7UUFDakIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUN6QixhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQ3RDLENBQUM7SUFFRSxRQUFROztZQUNaLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDOUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDWCxNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7YUFDaEQ7WUFDRCxJQUFJO2dCQUNGLDRHQUE0RztnQkFDNUcsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLENBQUM7YUFDM0M7WUFBQyxPQUFPLENBQUMsRUFBRTtnQkFDVixnRUFBZ0U7Z0JBQ2hFLDZEQUE2RDtnQkFDN0Qsd0NBQXdDO2dCQUN4QyxNQUFNLDBCQUEwQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsMEJBQTBCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUM7Z0JBQzVILElBQUksMEJBQTBCLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtvQkFDbEQsTUFBTSxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsR0FBRyxNQUFNLENBQUM7b0JBQ2hELE1BQU0sVUFBVSxHQUFHLFlBQVksSUFBSSxjQUFjLENBQUM7b0JBQ2xELElBQUksVUFBVSxFQUFFO3dCQUNkLFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzt3QkFDekMsT0FBTztxQkFDUjtpQkFDRjtnQkFDRCxJQUFJLENBQUMsS0FBSyxHQUFJLENBQVcsQ0FBQyxRQUFRLEVBQUUsQ0FBQzthQUN0QztRQUNILENBQUM7S0FBQTs7bUhBaENVLHFCQUFxQix1REFLdEIsU0FBUzt1R0FMUixxQkFBcUIsb0RBRnRCLHNCQUFzQjs0RkFFckIscUJBQXFCO2tCQUhqQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7aUJBQ2pDOzswQkFNSSxNQUFNOzJCQUFDLFNBQVM7OzBCQUNoQixRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxNy1QcmVzZW50LCBPa3RhLCBJbmMuIGFuZC9vciBpdHMgYWZmaWxpYXRlcy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIFRoZSBPa3RhIHNvZnR3YXJlIGFjY29tcGFuaWVkIGJ5IHRoaXMgbm90aWNlIGlzIHByb3ZpZGVkIHB1cnN1YW50IHRvIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2UuXCIpXG4gKlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0IGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMC5cbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUywgV0lUSE9VVFxuICogV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICpcbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9wdGlvbmFsLCBJbmplY3RvciwgSW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPa3RhQXV0aCB9IGZyb20gJ0Bva3RhL29rdGEtYXV0aC1qcyc7XG5pbXBvcnQgeyBPS1RBX0FVVEggfSBmcm9tICcuLi9tb2RlbHMvb2t0YS5jb25maWcnO1xuaW1wb3J0IHsgT2t0YUF1dGhDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXV0aC1jb25maWcuc2VyaWNlJztcblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgPGRpdj57e2Vycm9yfX08L2Rpdj5gXG59KVxuZXhwb3J0IGNsYXNzIE9rdGFDYWxsYmFja0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGVycm9yPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29uZmlnU2VydmljZTogT2t0YUF1dGhDb25maWdTZXJ2aWNlLFxuICAgIEBJbmplY3QoT0tUQV9BVVRIKSBwcml2YXRlIG9rdGFBdXRoOiBPa3RhQXV0aCxcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGluamVjdG9yPzogSW5qZWN0b3JcbiAgKSB7fVxuXG4gIGFzeW5jIG5nT25Jbml0KCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlnU2VydmljZS5nZXRDb25maWcoKTtcbiAgICBpZiAoIWNvbmZpZykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdPa3RhIGNvbmZpZyBpcyBub3QgcHJvdmlkZWQnKTtcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIC8vIFBhcnNlIGNvZGUgb3IgdG9rZW5zIGZyb20gdGhlIFVSTCwgc3RvcmUgdG9rZW5zIGluIHRoZSBUb2tlbk1hbmFnZXIsIGFuZCByZWRpcmVjdCBiYWNrIHRvIHRoZSBvcmlnaW5hbFVyaVxuICAgICAgYXdhaXQgdGhpcy5va3RhQXV0aC5oYW5kbGVMb2dpblJlZGlyZWN0KCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgLy8gQ2FsbGJhY2sgZnJvbSBzb2NpYWwgSURQLiBTaG93IGN1c3RvbSBsb2dpbiBwYWdlIHRvIGNvbnRpbnVlLlxuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuICAgICAgLy8gQHRzLWlnbm9yZSBTdXBwb3J0cyBhdXRoLWpzIHY1ICYgdjYtN1xuICAgICAgY29uc3QgaXNJbnRlcmFjdGlvblJlcXVpcmVkRXJyb3IgPSB0aGlzLm9rdGFBdXRoLmlzSW50ZXJhY3Rpb25SZXF1aXJlZEVycm9yIHx8IHRoaXMub2t0YUF1dGguaWR4LmlzSW50ZXJhY3Rpb25SZXF1aXJlZEVycm9yO1xuICAgICAgaWYgKGlzSW50ZXJhY3Rpb25SZXF1aXJlZEVycm9yKGUpICYmIHRoaXMuaW5qZWN0b3IpIHtcbiAgICAgICAgY29uc3QgeyBvbkF1dGhSZXN1bWUsIG9uQXV0aFJlcXVpcmVkIH0gPSBjb25maWc7XG4gICAgICAgIGNvbnN0IGNhbGxiYWNrRm4gPSBvbkF1dGhSZXN1bWUgfHwgb25BdXRoUmVxdWlyZWQ7XG4gICAgICAgIGlmIChjYWxsYmFja0ZuKSB7XG4gICAgICAgICAgY2FsbGJhY2tGbih0aGlzLm9rdGFBdXRoLCB0aGlzLmluamVjdG9yKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuZXJyb3IgPSAoZSBhcyBFcnJvcikudG9TdHJpbmcoKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==