UNPKG

ngx-adal-8

Version:
61 lines 4.88 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { mergeMap } from 'rxjs/operators'; import { NgxAdalService } from './ngx-adal.service'; export class NgxAdalInterceptor { /** * @param {?} adal */ constructor(adal) { this.adal = adal; } /** * @param {?} request * @param {?} next * @return {?} */ intercept(request, next) { // retrieve resource from endpoints configuration /** @type {?} */ const resource = this.adal.GetResourceForEndpoint(request.url); if (!resource) { return next.handle(request); } if (!this.adal.isAuthenticated) { this.adal.RenewToken(request.url); } return this.adal.acquireToken(request.url).pipe(mergeMap((/** * @param {?} token * @return {?} */ (token) => { /** @type {?} */ const authorizedRequest = request.clone({ setHeaders: { Authorization: 'Bearer ' + token, 'content-Type': 'application/json; charset=utf-8', Accept: 'application/json' } }); return next.handle(authorizedRequest); }))); } } NgxAdalInterceptor.decorators = [ { type: Injectable } ]; /** @nocollapse */ NgxAdalInterceptor.ctorParameters = () => [ { type: NgxAdalService } ]; if (false) { /** * @type {?} * @private */ NgxAdalInterceptor.prototype.adal; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWFkYWwuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYWRhbC04LyIsInNvdXJjZXMiOlsibGliL25neC1hZGFsLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFHcEQsTUFBTSxPQUFPLGtCQUFrQjs7OztJQUM3QixZQUFvQixJQUFvQjtRQUFwQixTQUFJLEdBQUosSUFBSSxDQUFnQjtJQUFHLENBQUM7Ozs7OztJQUU1QyxTQUFTLENBQUMsT0FBeUIsRUFBRSxJQUFpQjs7O2NBRTlDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUM7UUFDOUQsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNiLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztTQUM3QjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDbkM7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQzdDLFFBQVE7Ozs7UUFBQyxDQUFDLEtBQWEsRUFBRSxFQUFFOztrQkFDbkIsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDdEMsVUFBVSxFQUFFO29CQUNWLGFBQWEsRUFBRSxTQUFTLEdBQUcsS0FBSztvQkFDaEMsY0FBYyxFQUFFLGlDQUFpQztvQkFDakQsTUFBTSxFQUFFLGtCQUFrQjtpQkFDM0I7YUFDRixDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDeEMsQ0FBQyxFQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7OztZQTFCRixVQUFVOzs7O1lBRkYsY0FBYzs7Ozs7OztJQUlULGtDQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBIYW5kbGVyLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTmd4QWRhbFNlcnZpY2UgfSBmcm9tICcuL25neC1hZGFsLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTmd4QWRhbEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFkYWw6IE5neEFkYWxTZXJ2aWNlKSB7fVxyXG5cclxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICAvLyByZXRyaWV2ZSByZXNvdXJjZSBmcm9tIGVuZHBvaW50cyBjb25maWd1cmF0aW9uXHJcbiAgICBjb25zdCByZXNvdXJjZSA9IHRoaXMuYWRhbC5HZXRSZXNvdXJjZUZvckVuZHBvaW50KHJlcXVlc3QudXJsKTtcclxuICAgIGlmICghcmVzb3VyY2UpIHtcclxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLmFkYWwuaXNBdXRoZW50aWNhdGVkKSB7XHJcbiAgICAgIHRoaXMuYWRhbC5SZW5ld1Rva2VuKHJlcXVlc3QudXJsKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5hZGFsLmFjcXVpcmVUb2tlbihyZXF1ZXN0LnVybCkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoKHRva2VuOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCBhdXRob3JpemVkUmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoe1xyXG4gICAgICAgICAgc2V0SGVhZGVyczoge1xyXG4gICAgICAgICAgICBBdXRob3JpemF0aW9uOiAnQmVhcmVyICcgKyB0b2tlbixcclxuICAgICAgICAgICAgJ2NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04JyxcclxuICAgICAgICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbidcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUoYXV0aG9yaXplZFJlcXVlc3QpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19