angular-aap-auth
Version:
## This library is deprecated. Please, use [ng-ebi-authorization](https://www.npmjs.com/package/ng-ebi-authorization).
82 lines (81 loc) • 5.58 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes} checked by tsc
*/
import { Injectable } from '@angular/core';
import { JwtHelperService } from '@auth0/angular-jwt';
/**
* The purpose of this very simple service is to interface between the
* AuthService and the specific token manipulation routing of JwtHelperService.
* In this way, if in the future we want to replace JwtHelperService by
* another service, AuthService doesn't need to be modified, only this service.
*/
export class TokenService {
/**
* @param {?} _jwt
*/
constructor(_jwt) {
this._jwt = _jwt;
}
/**
* @return {?}
*/
getToken() {
return this._jwt.tokenGetter();
}
/**
* @return {?}
*/
getTokenExpirationDate() {
try {
return this._jwt.getTokenExpirationDate();
}
catch (/** @type {?} */ e) {
return null;
}
}
/**
* @return {?}
*/
isTokenValid() {
try {
return !this._jwt.isTokenExpired();
}
catch (/** @type {?} */ error) {
return false;
}
}
/**
* Get claims from the token.
*
* @template T, C
* @param {?} claim The name of the claim
* @param {?} defaultValue The default value returned in case of error
*
* @return {?} claim or default value
*/
getClaim(claim, defaultValue) {
try {
const /** @type {?} */ value = /** @type {?} */ (this._jwt.decodeToken()[claim]);
if (value === undefined) {
return defaultValue;
}
return value;
}
catch (/** @type {?} */ e) {
return defaultValue;
}
}
}
TokenService.decorators = [
{ type: Injectable },
];
/** @nocollapse */
TokenService.ctorParameters = () => [
{ type: JwtHelperService }
];
function TokenService_tsickle_Closure_declarations() {
/** @type {?} */
TokenService.prototype._jwt;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZ3VsYXItYWFwLWF1dGgvIiwic291cmNlcyI6WyJhcHAvbW9kdWxlcy9hdXRoL3Rva2VuLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDSCxVQUFVLEVBQ2IsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUNILGdCQUFnQixFQUNuQixNQUFNLG9CQUFvQixDQUFDOzs7Ozs7O0FBUzVCLE1BQU07Ozs7SUFFRixZQUNZO1FBQUEsU0FBSSxHQUFKLElBQUk7S0FDWjs7OztJQUVHLFFBQVE7UUFDWCxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQzs7Ozs7SUFHNUIsc0JBQXNCO1FBQ3pCLElBQUksQ0FBQztZQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLHNCQUFzQixFQUFFLENBQUM7U0FDN0M7UUFBQyxLQUFLLENBQUMsQ0FBQyxpQkFBQSxDQUFDLEVBQUUsQ0FBQztZQUNULE1BQU0sQ0FBQyxJQUFJLENBQUM7U0FDZjs7Ozs7SUFHRSxZQUFZO1FBQ2YsSUFBSSxDQUFDO1lBQ0QsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztTQUN0QztRQUFDLEtBQUssQ0FBQyxDQUFDLGlCQUFBLEtBQUssRUFBRSxDQUFDO1lBQ2IsTUFBTSxDQUFDLEtBQUssQ0FBQztTQUNoQjs7Ozs7Ozs7Ozs7SUFXRSxRQUFRLENBQVcsS0FBYSxFQUFFLFlBQWU7UUFDcEQsSUFBSSxDQUFDO1lBQ0QsdUJBQU0sS0FBSyxxQkFBUyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFBLENBQUM7WUFDbkQsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLE1BQU0sQ0FBQyxZQUFZLENBQUM7YUFDdkI7WUFDRCxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQ2hCO1FBQUMsS0FBSyxDQUFDLENBQUMsaUJBQUEsQ0FBQyxFQUFFLENBQUM7WUFDVCxNQUFNLENBQUMsWUFBWSxDQUFDO1NBQ3ZCOzs7O1lBNUNSLFVBQVU7Ozs7WUFUUCxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEluamVjdGFibGVcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7XG4gICAgSnd0SGVscGVyU2VydmljZVxufSBmcm9tICdAYXV0aDAvYW5ndWxhci1qd3QnO1xuXG4vKipcbiAqIFRoZSBwdXJwb3NlIG9mIHRoaXMgdmVyeSBzaW1wbGUgc2VydmljZSBpcyB0byBpbnRlcmZhY2UgYmV0d2VlbiB0aGVcbiAqIEF1dGhTZXJ2aWNlIGFuZCB0aGUgc3BlY2lmaWMgdG9rZW4gbWFuaXB1bGF0aW9uIHJvdXRpbmcgb2YgSnd0SGVscGVyU2VydmljZS5cbiAqIEluIHRoaXMgd2F5LCBpZiBpbiB0aGUgZnV0dXJlIHdlIHdhbnQgdG8gcmVwbGFjZSBKd3RIZWxwZXJTZXJ2aWNlIGJ5XG4gKiBhbm90aGVyIHNlcnZpY2UsIEF1dGhTZXJ2aWNlIGRvZXNuJ3QgbmVlZCB0byBiZSBtb2RpZmllZCwgb25seSB0aGlzIHNlcnZpY2UuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBUb2tlblNlcnZpY2Uge1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgX2p3dDogSnd0SGVscGVyU2VydmljZVxuICAgICkge31cblxuICAgIHB1YmxpYyBnZXRUb2tlbigpOiBzdHJpbmcgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2p3dC50b2tlbkdldHRlcigpO1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXRUb2tlbkV4cGlyYXRpb25EYXRlKCk6IERhdGUgfCBudWxsIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLl9qd3QuZ2V0VG9rZW5FeHBpcmF0aW9uRGF0ZSgpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBpc1Rva2VuVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICByZXR1cm4gIXRoaXMuX2p3dC5pc1Rva2VuRXhwaXJlZCgpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogR2V0IGNsYWltcyBmcm9tIHRoZSB0b2tlbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjbGFpbSBUaGUgbmFtZSBvZiB0aGUgY2xhaW1cbiAgICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlIFRoZSBkZWZhdWx0IHZhbHVlIHJldHVybmVkIGluIGNhc2Ugb2YgZXJyb3JcbiAgICAgKlxuICAgICAqIEByZXR1cm5zIGNsYWltIG9yIGRlZmF1bHQgdmFsdWVcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2xhaW0gPCBULCBDID4gKGNsYWltOiBzdHJpbmcsIGRlZmF1bHRWYWx1ZTogQyk6IFQgfCBDIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gPCBUID4gdGhpcy5fand0LmRlY29kZVRva2VuKClbY2xhaW1dO1xuICAgICAgICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19