ng-ebi-authorization
Version:
The ng-ebi-authorization is a simple authentication Angular library that relies on EBI's Authentication and Authorization Profile (AAP) infrastructure. After successful login, a JWT token is stored on the browser (via cookie, local or session storage).
48 lines • 3.16 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { InjectionToken } from '@angular/core';
/**
* @record
*/
export function AuthConfig() { }
if (false) {
/** @type {?} */
AuthConfig.prototype.aapURL;
/** @type {?} */
AuthConfig.prototype.tokenGetter;
/** @type {?|undefined} */
AuthConfig.prototype.tokenRemover;
/** @type {?} */
AuthConfig.prototype.tokenUpdater;
}
/** @type {?} */
export const AAP_CONFIG = new InjectionToken('AAP_CONFIG');
/**
* @return {?}
*/
export function getToken() {
return localStorage.getItem('id_token') || '';
}
/**
* @return {?}
*/
export function removeToken() {
return localStorage.removeItem('id_token');
}
/**
* @param {?} newToken
* @return {?}
*/
export function updateToken(newToken) {
return localStorage.setItem('id_token', newToken);
}
/** @type {?} */
export const DEFAULT_CONF = {
aapURL: 'https://api.aai.ebi.ac.uk',
tokenGetter: getToken,
tokenRemover: removeToken,
tokenUpdater: updateToken
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5jb25maWcuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZy1lYmktYXV0aG9yaXphdGlvbi8iLCJzb3VyY2VzIjpbImF1dGgvYXV0aC5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFDSCxjQUFjLEVBQ2pCLE1BQU0sZUFBZSxDQUFDOzs7O0FBRXZCLGdDQUtDOzs7SUFKRyw0QkFBZTs7SUFDZixpQ0FBMEI7O0lBQzFCLGtDQUEwQjs7SUFDMUIsa0NBQXNDOzs7QUFHMUMsTUFBTSxPQUFPLFVBQVUsR0FBRyxJQUFJLGNBQWMsQ0FBaUIsWUFBWSxDQUFDOzs7O0FBRTFFLE1BQU0sVUFBVSxRQUFRO0lBQ3BCLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7QUFDbEQsQ0FBQzs7OztBQUNELE1BQU0sVUFBVSxXQUFXO0lBQ3ZCLE9BQU8sWUFBWSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztBQUMvQyxDQUFDOzs7OztBQUNELE1BQU0sVUFBVSxXQUFXLENBQUMsUUFBZ0I7SUFDeEMsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUN0RCxDQUFDOztBQUNELE1BQU0sT0FBTyxZQUFZLEdBQWU7SUFDcEMsTUFBTSxFQUFFLDJCQUEyQjtJQUNuQyxXQUFXLEVBQUUsUUFBUTtJQUNyQixZQUFZLEVBQUUsV0FBVztJQUN6QixZQUFZLEVBQUUsV0FBVztDQUM1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgSW5qZWN0aW9uVG9rZW5cbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aENvbmZpZyB7XG4gICAgYWFwVVJMOiBzdHJpbmc7XG4gICAgdG9rZW5HZXR0ZXI6ICgpID0+IHN0cmluZztcbiAgICB0b2tlblJlbW92ZXI/OiAoKSA9PiB2b2lkO1xuICAgIHRva2VuVXBkYXRlcjogKG5ld1Rva2VuOiBhbnkpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBBQVBfQ09ORklHID0gbmV3IEluamVjdGlvblRva2VuIDwgQXV0aENvbmZpZyA+ICgnQUFQX0NPTkZJRycpO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0VG9rZW4oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oJ2lkX3Rva2VuJykgfHwgJyc7XG59XG5leHBvcnQgZnVuY3Rpb24gcmVtb3ZlVG9rZW4oKTogdm9pZCB7XG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5yZW1vdmVJdGVtKCdpZF90b2tlbicpO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZVRva2VuKG5ld1Rva2VuOiBzdHJpbmcpOiB2b2lkIHtcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2lkX3Rva2VuJywgbmV3VG9rZW4pO1xufVxuZXhwb3J0IGNvbnN0IERFRkFVTFRfQ09ORjogQXV0aENvbmZpZyA9IHtcbiAgICBhYXBVUkw6ICdodHRwczovL2FwaS5hYWkuZWJpLmFjLnVrJyxcbiAgICB0b2tlbkdldHRlcjogZ2V0VG9rZW4sXG4gICAgdG9rZW5SZW1vdmVyOiByZW1vdmVUb2tlbixcbiAgICB0b2tlblVwZGF0ZXI6IHVwZGF0ZVRva2VuXG59O1xuIl19