UNPKG

bc-adal-angular

Version:

Library wrapper for Angular 6+, development over Microsoft ADAL (Azure Active Directory Authentication Library) - [https://github.com/AzureAD/azure-activedirectory-library-for-js](https://github.com/AzureAD/azure-activedirectory-library-for-js) that helps

59 lines 5.61 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { mergeMap } from 'rxjs/internal/operators/mergeMap'; import { BcAdalAngularService } from './bc-adal-angular.service'; var BcAdalAngularInterceptor = /** @class */ (function () { function BcAdalAngularInterceptor(adalService) { this.adalService = adalService; } /** * @param {?} request * @param {?} next * @return {?} */ BcAdalAngularInterceptor.prototype.intercept = /** * @param {?} request * @param {?} next * @return {?} */ function (request, next) { /** @type {?} */ var resource = this.adalService.getOptions()['resource'] || this.adalService.getResourceForEndpoint(request.url); if (!resource) { return next.handle(request); } if (!this.adalService.isAuthenticated) { throw new Error('Cannot send request to registered endpoint if the user is not authenticated.'); } return this.adalService.acquireTokenResilient(resource).pipe(mergeMap(function (token) { if (!token) { return next.handle(request); } /** @type {?} */ var requestWithAuthorization = request.clone({ headers: request.headers.set('Authorization', 'Bearer ' + token) }); return next.handle(requestWithAuthorization); })); }; BcAdalAngularInterceptor.decorators = [ { type: Injectable } ]; BcAdalAngularInterceptor.ctorParameters = function () { return [ { type: BcAdalAngularService } ]; }; return BcAdalAngularInterceptor; }()); export { BcAdalAngularInterceptor }; if (false) { /** * @type {?} * @private */ BcAdalAngularInterceptor.prototype.adalService; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmMtYWRhbC1hbmd1bGFyLmludGVyY2VwdG9yLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYmMtYWRhbC1hbmd1bGFyLyIsInNvdXJjZXMiOlsibGliL3NlcnZpY2VzL2JjLWFkYWwtYW5ndWxhci5pbnRlcmNlcHRvci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBTUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFFNUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFakU7SUFFRSxrQ0FBb0IsV0FBaUM7UUFBakMsZ0JBQVcsR0FBWCxXQUFXLENBQXNCO0lBQUcsQ0FBQzs7Ozs7O0lBRXpELDRDQUFTOzs7OztJQUFULFVBQ0UsT0FBeUIsRUFDekIsSUFBaUI7O1lBRVgsUUFBUSxHQUNaLElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxFQUFFLENBQUMsVUFBVSxDQUFDO1lBQ3pDLElBQUksQ0FBQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUV0RCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzdCO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxFQUFFO1lBQ3JDLE1BQU0sSUFBSSxLQUFLLENBQ2IsOEVBQThFLENBQy9FLENBQUM7U0FDSDtRQUVELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQzFELFFBQVEsQ0FBQyxVQUFDLEtBQWE7WUFDckIsSUFBSSxDQUFDLEtBQUssRUFBRTtnQkFDVixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7YUFDN0I7O2dCQUVLLHdCQUF3QixHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQzdDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsU0FBUyxHQUFHLEtBQUssQ0FBQzthQUNqRSxDQUFDO1lBRUYsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDL0MsQ0FBQyxDQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O2dCQW5DRixVQUFVOzs7Z0JBRkYsb0JBQW9COztJQXNDN0IsK0JBQUM7Q0FBQSxBQXBDRCxJQW9DQztTQW5DWSx3QkFBd0I7Ozs7OztJQUN2QiwrQ0FBeUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEh0dHBFdmVudCxcclxuICBIdHRwSGFuZGxlcixcclxuICBIdHRwSW50ZXJjZXB0b3IsXHJcbiAgSHR0cFJlcXVlc3RcclxufSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtZXJnZU1hcCB9IGZyb20gJ3J4anMvaW50ZXJuYWwvb3BlcmF0b3JzL21lcmdlTWFwJztcclxuXHJcbmltcG9ydCB7IEJjQWRhbEFuZ3VsYXJTZXJ2aWNlIH0gZnJvbSAnLi9iYy1hZGFsLWFuZ3VsYXIuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBCY0FkYWxBbmd1bGFySW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYWRhbFNlcnZpY2U6IEJjQWRhbEFuZ3VsYXJTZXJ2aWNlKSB7fVxyXG5cclxuICBpbnRlcmNlcHQoXHJcbiAgICByZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LFxyXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcclxuICApOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICBjb25zdCByZXNvdXJjZSA9XHJcbiAgICAgIHRoaXMuYWRhbFNlcnZpY2UuZ2V0T3B0aW9ucygpWydyZXNvdXJjZSddIHx8XHJcbiAgICAgIHRoaXMuYWRhbFNlcnZpY2UuZ2V0UmVzb3VyY2VGb3JFbmRwb2ludChyZXF1ZXN0LnVybCk7XHJcblxyXG4gICAgaWYgKCFyZXNvdXJjZSkge1xyXG4gICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdCk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLmFkYWxTZXJ2aWNlLmlzQXV0aGVudGljYXRlZCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXHJcbiAgICAgICAgJ0Nhbm5vdCBzZW5kIHJlcXVlc3QgdG8gcmVnaXN0ZXJlZCBlbmRwb2ludCBpZiB0aGUgdXNlciBpcyBub3QgYXV0aGVudGljYXRlZC4nXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuYWRhbFNlcnZpY2UuYWNxdWlyZVRva2VuUmVzaWxpZW50KHJlc291cmNlKS5waXBlKFxyXG4gICAgICBtZXJnZU1hcCgodG9rZW46IHN0cmluZykgPT4ge1xyXG4gICAgICAgIGlmICghdG9rZW4pIHtcclxuICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGNvbnN0IHJlcXVlc3RXaXRoQXV0aG9yaXphdGlvbiA9IHJlcXVlc3QuY2xvbmUoe1xyXG4gICAgICAgICAgaGVhZGVyczogcmVxdWVzdC5oZWFkZXJzLnNldCgnQXV0aG9yaXphdGlvbicsICdCZWFyZXIgJyArIHRva2VuKVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUocmVxdWVzdFdpdGhBdXRob3JpemF0aW9uKTtcclxuICAgICAgfSlcclxuICAgICk7XHJcbiAgfVxyXG59XHJcbiJdfQ==