UNPKG

adal-angular6-wrapper

Version:

Angular 6 ADAL Wrapper. This version is a fork of follwing library for some personal implementation. No Support is available for this version. Original: https://github.com/benbaran/adal-angular4

57 lines (56 loc) 5.53 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ import { Injectable } from '@angular/core'; import { mergeMap } from 'rxjs/operators'; import { AdalService } from './adal.service'; var AdalInterceptor = /** @class */ (function () { function AdalInterceptor(adal) { this.adal = adal; } /** * @param {?} request * @param {?} next * @return {?} */ AdalInterceptor.prototype.intercept = /** * @param {?} request * @param {?} next * @return {?} */ function (request, next) { /** @type {?} */ var resource = this.adal.getResourceForEndpoint(request.url); if (!resource) { return next.handle(request); } // if the user is not authenticated then drop the request if (!this.adal.userInfo.authenticated) { throw new Error('Cannot send request to registered endpoint if the user is not authenticated.'); } // if the endpoint is registered then acquire and inject token return this.adal.acquireToken(resource) .pipe(mergeMap(function (token) { /** @type {?} */ var authorizedRequest = request.clone({ headers: request.headers.set('Authorization', 'Bearer ' + token), }); return next.handle(authorizedRequest); })); }; AdalInterceptor.decorators = [ { type: Injectable } ]; /** @nocollapse */ AdalInterceptor.ctorParameters = function () { return [ { type: AdalService } ]; }; return AdalInterceptor; }()); export { AdalInterceptor }; if (false) { /** @type {?} */ AdalInterceptor.prototype.adal; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWRhbC5pbnRlcmNlcHRvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FkYWwtYW5ndWxhcjYtd3JhcHBlci8iLCJzb3VyY2VzIjpbImFkYWwuaW50ZXJjZXB0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7SUFLekMseUJBQW9CLElBQWlCO1FBQWpCLFNBQUksR0FBSixJQUFJLENBQWE7S0FBSzs7Ozs7O0lBRTFDLG1DQUFTOzs7OztJQUFULFVBQVUsT0FBeUIsRUFBRSxJQUFpQjs7UUFJbEQsSUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0QsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ1osTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDL0I7O1FBR0QsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLE1BQU0sSUFBSSxLQUFLLENBQUMsOEVBQThFLENBQUMsQ0FBQztTQUNuRzs7UUFHRCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDO2FBQ2xDLElBQUksQ0FDRCxRQUFRLENBQUMsVUFBQyxLQUFhOztZQUduQixJQUFNLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ3BDLE9BQU8sRUFBRSxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsU0FBUyxHQUFHLEtBQUssQ0FBQzthQUNuRSxDQUFDLENBQUM7WUFFSCxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3pDLENBQ0osQ0FDSixDQUFBO0tBQ0o7O2dCQWpDSixVQUFVOzs7O2dCQUZGLFdBQVc7OzBCQUxwQjs7U0FRYSxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwRXZlbnQsIEh0dHBJbnRlcmNlcHRvciwgSHR0cEhhbmRsZXIsIEh0dHBSZXF1ZXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuaW1wb3J0IHsgQWRhbFNlcnZpY2UgfSBmcm9tICcuL2FkYWwuc2VydmljZSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBBZGFsSW50ZXJjZXB0b3IgaW1wbGVtZW50cyBIdHRwSW50ZXJjZXB0b3Ige1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgYWRhbDogQWRhbFNlcnZpY2UpIHsgfVxyXG5cclxuICAgIGludGVyY2VwdChyZXF1ZXN0OiBIdHRwUmVxdWVzdDxhbnk+LCBuZXh0OiBIdHRwSGFuZGxlcik6IE9ic2VydmFibGU8SHR0cEV2ZW50PGFueT4+IHtcclxuXHJcbiAgICAgICAgLy8gaWYgdGhlIGVuZHBvaW50IGlzIG5vdCByZWdpc3RlcmVkIHRoZW4gcGFzc1xyXG4gICAgICAgIC8vIHRoZSByZXF1ZXN0IGFzIGl0IGlzIHRvIHRoZSBuZXh0IGhhbmRsZXJcclxuICAgICAgICBjb25zdCByZXNvdXJjZSA9IHRoaXMuYWRhbC5nZXRSZXNvdXJjZUZvckVuZHBvaW50KHJlcXVlc3QudXJsKTtcclxuICAgICAgICBpZiAoIXJlc291cmNlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBuZXh0LmhhbmRsZShyZXF1ZXN0KTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC8vIGlmIHRoZSB1c2VyIGlzIG5vdCBhdXRoZW50aWNhdGVkIHRoZW4gZHJvcCB0aGUgcmVxdWVzdFxyXG4gICAgICAgIGlmICghdGhpcy5hZGFsLnVzZXJJbmZvLmF1dGhlbnRpY2F0ZWQpIHtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgc2VuZCByZXF1ZXN0IHRvIHJlZ2lzdGVyZWQgZW5kcG9pbnQgaWYgdGhlIHVzZXIgaXMgbm90IGF1dGhlbnRpY2F0ZWQuJyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBpZiB0aGUgZW5kcG9pbnQgaXMgcmVnaXN0ZXJlZCB0aGVuIGFjcXVpcmUgYW5kIGluamVjdCB0b2tlblxyXG4gICAgICAgIHJldHVybiB0aGlzLmFkYWwuYWNxdWlyZVRva2VuKHJlc291cmNlKVxyXG4gICAgICAgICAgICAucGlwZShcclxuICAgICAgICAgICAgICAgIG1lcmdlTWFwKCh0b2tlbjogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgLy8gY2xvbmUgdGhlIHJlcXVlc3QgYW5kIHJlcGxhY2UgdGhlIG9yaWdpbmFsIGhlYWRlcnMgd2l0aFxyXG4gICAgICAgICAgICAgICAgICAgIC8vIGNsb25lZCBoZWFkZXJzLCB1cGRhdGVkIHdpdGggdGhlIGF1dGhvcml6YXRpb25cclxuICAgICAgICAgICAgICAgICAgICBjb25zdCBhdXRob3JpemVkUmVxdWVzdCA9IHJlcXVlc3QuY2xvbmUoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWFkZXJzOiByZXF1ZXN0LmhlYWRlcnMuc2V0KCdBdXRob3JpemF0aW9uJywgJ0JlYXJlciAnICsgdG9rZW4pLFxyXG4gICAgICAgICAgICAgICAgICAgIH0pO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV4dC5oYW5kbGUoYXV0aG9yaXplZFJlcXVlc3QpO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApXHJcbiAgICAgICAgKVxyXG4gICAgfVxyXG59Il19