ngx-adal-8
Version:
Angular 2+ ADAL Wrapper library
65 lines • 5.15 kB
JavaScript
/**
* @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';
var NgxAdalInterceptor = /** @class */ (function () {
function NgxAdalInterceptor(adal) {
this.adal = adal;
}
/**
* @param {?} request
* @param {?} next
* @return {?}
*/
NgxAdalInterceptor.prototype.intercept = /**
* @param {?} request
* @param {?} next
* @return {?}
*/
function (request, next) {
// retrieve resource from endpoints configuration
/** @type {?} */
var 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 {?}
*/
function (token) {
/** @type {?} */
var 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 = function () { return [
{ type: NgxAdalService }
]; };
return NgxAdalInterceptor;
}());
export { NgxAdalInterceptor };
if (false) {
/**
* @type {?}
* @private
*/
NgxAdalInterceptor.prototype.adal;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWFkYWwuaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtYWRhbC04LyIsInNvdXJjZXMiOlsibGliL25neC1hZGFsLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzNDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFFcEQ7SUFFRSw0QkFBb0IsSUFBb0I7UUFBcEIsU0FBSSxHQUFKLElBQUksQ0FBZ0I7SUFBRyxDQUFDOzs7Ozs7SUFFNUMsc0NBQVM7Ozs7O0lBQVQsVUFBVSxPQUF5QixFQUFFLElBQWlCOzs7WUFFOUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUM5RCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2IsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1NBQzdCO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQzlCLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNuQztRQUVELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FDN0MsUUFBUTs7OztRQUFDLFVBQUMsS0FBYTs7Z0JBQ2YsaUJBQWlCLEdBQUcsT0FBTyxDQUFDLEtBQUssQ0FBQztnQkFDdEMsVUFBVSxFQUFFO29CQUNWLGFBQWEsRUFBRSxTQUFTLEdBQUcsS0FBSztvQkFDaEMsY0FBYyxFQUFFLGlDQUFpQztvQkFDakQsTUFBTSxFQUFFLGtCQUFrQjtpQkFDM0I7YUFDRixDQUFDO1lBQ0YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7UUFDeEMsQ0FBQyxFQUFDLENBQ0gsQ0FBQztJQUNKLENBQUM7O2dCQTFCRixVQUFVOzs7O2dCQUZGLGNBQWM7O0lBNkJ2Qix5QkFBQztDQUFBLEFBM0JELElBMkJDO1NBMUJZLGtCQUFrQjs7Ozs7O0lBQ2pCLGtDQUE0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cEV2ZW50LCBIdHRwSW50ZXJjZXB0b3IsIEh0dHBIYW5kbGVyLCBIdHRwUmVxdWVzdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtZXJnZU1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTmd4QWRhbFNlcnZpY2UgfSBmcm9tICcuL25neC1hZGFsLnNlcnZpY2UnO1xyXG5cclxuQEluamVjdGFibGUoKVxyXG5leHBvcnQgY2xhc3MgTmd4QWRhbEludGVyY2VwdG9yIGltcGxlbWVudHMgSHR0cEludGVyY2VwdG9yIHtcclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFkYWw6IE5neEFkYWxTZXJ2aWNlKSB7fVxyXG5cclxuICBpbnRlcmNlcHQocmVxdWVzdDogSHR0cFJlcXVlc3Q8YW55PiwgbmV4dDogSHR0cEhhbmRsZXIpOiBPYnNlcnZhYmxlPEh0dHBFdmVudDxhbnk+PiB7XHJcbiAgICAvLyByZXRyaWV2ZSByZXNvdXJjZSBmcm9tIGVuZHBvaW50cyBjb25maWd1cmF0aW9uXHJcbiAgICBjb25zdCByZXNvdXJjZSA9IHRoaXMuYWRhbC5HZXRSZXNvdXJjZUZvckVuZHBvaW50KHJlcXVlc3QudXJsKTtcclxuICAgIGlmICghcmVzb3VyY2UpIHtcclxuICAgICAgcmV0dXJuIG5leHQuaGFuZGxlKHJlcXVlc3QpO1xyXG4gICAgfVxyXG4gICAgaWYgKCF0aGlzLmFkYWwuaXNBdXRoZW50aWNhdGVkKSB7XHJcbiAgICAgIHRoaXMuYWRhbC5SZW5ld1Rva2VuKHJlcXVlc3QudXJsKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5hZGFsLmFjcXVpcmVUb2tlbihyZXF1ZXN0LnVybCkucGlwZShcclxuICAgICAgbWVyZ2VNYXAoKHRva2VuOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCBhdXRob3JpemVkUmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoe1xyXG4gICAgICAgICAgc2V0SGVhZGVyczoge1xyXG4gICAgICAgICAgICBBdXRob3JpemF0aW9uOiAnQmVhcmVyICcgKyB0b2tlbixcclxuICAgICAgICAgICAgJ2NvbnRlbnQtVHlwZSc6ICdhcHBsaWNhdGlvbi9qc29uOyBjaGFyc2V0PXV0Zi04JyxcclxuICAgICAgICAgICAgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbidcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUoYXV0aG9yaXplZFJlcXVlc3QpO1xyXG4gICAgICB9KVxyXG4gICAgKTtcclxuICB9XHJcbn1cclxuIl19