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
JavaScript
/**
* @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==