@nebular/auth
Version:
@nebular/auth
55 lines • 5.13 kB
JavaScript
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
import * as i1 from "./token-parceler";
export class NbTokenStorage {
}
/**
* Service that uses browser localStorage as a storage.
*
* The token storage is provided into auth module the following way:
* ```ts
* { provide: NbTokenStorage, useClass: NbTokenLocalStorage },
* ```
*
* If you need to change the storage behaviour or provide your own - just extend your class from basic `NbTokenStorage`
* or `NbTokenLocalStorage` and provide in your `app.module`:
* ```ts
* { provide: NbTokenStorage, useClass: NbTokenCustomStorage },
* ```
*
*/
export class NbTokenLocalStorage extends NbTokenStorage {
constructor(parceler) {
super();
this.parceler = parceler;
this.key = 'auth_app_token';
}
/**
* Returns token from localStorage
* @returns {NbAuthToken}
*/
get() {
const raw = localStorage.getItem(this.key);
return this.parceler.unwrap(raw);
}
/**
* Sets token to localStorage
* @param {NbAuthToken} token
*/
set(token) {
const raw = this.parceler.wrap(token);
localStorage.setItem(this.key, raw);
}
/**
* Clears token from localStorage
*/
clear() {
localStorage.removeItem(this.key);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NbTokenLocalStorage, deps: [{ token: i1.NbAuthTokenParceler }], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NbTokenLocalStorage }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NbTokenLocalStorage, decorators: [{
type: Injectable
}], ctorParameters: () => [{ type: i1.NbAuthTokenParceler }] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tc3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9mcmFtZXdvcmsvYXV0aC9zZXJ2aWNlcy90b2tlbi90b2tlbi1zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUszQyxNQUFNLE9BQWdCLGNBQWM7Q0FLbkM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxjQUFjO0lBSXJELFlBQW9CLFFBQTZCO1FBQy9DLEtBQUssRUFBRSxDQUFDO1FBRFUsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7UUFGdkMsUUFBRyxHQUFHLGdCQUFnQixDQUFDO0lBSWpDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxHQUFHO1FBQ0QsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsR0FBRyxDQUFDLEtBQWtCO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLO1FBQ0gsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs4R0EvQlUsbUJBQW1CO2tIQUFuQixtQkFBbUI7OzJGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5iQXV0aFRva2VuIH0gZnJvbSAnLi90b2tlbic7XG5pbXBvcnQgeyBOYkF1dGhUb2tlblBhcmNlbGVyIH0gZnJvbSAnLi90b2tlbi1wYXJjZWxlcic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOYlRva2VuU3RvcmFnZSB7XG5cbiAgYWJzdHJhY3QgZ2V0KCk6IE5iQXV0aFRva2VuO1xuICBhYnN0cmFjdCBzZXQodG9rZW46IE5iQXV0aFRva2VuKTtcbiAgYWJzdHJhY3QgY2xlYXIoKTtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgdXNlcyBicm93c2VyIGxvY2FsU3RvcmFnZSBhcyBhIHN0b3JhZ2UuXG4gKlxuICogVGhlIHRva2VuIHN0b3JhZ2UgaXMgcHJvdmlkZWQgaW50byBhdXRoIG1vZHVsZSB0aGUgZm9sbG93aW5nIHdheTpcbiAqIGBgYHRzXG4gKiB7IHByb3ZpZGU6IE5iVG9rZW5TdG9yYWdlLCB1c2VDbGFzczogTmJUb2tlbkxvY2FsU3RvcmFnZSB9LFxuICogYGBgXG4gKlxuICogSWYgeW91IG5lZWQgdG8gY2hhbmdlIHRoZSBzdG9yYWdlIGJlaGF2aW91ciBvciBwcm92aWRlIHlvdXIgb3duIC0ganVzdCBleHRlbmQgeW91ciBjbGFzcyBmcm9tIGJhc2ljIGBOYlRva2VuU3RvcmFnZWBcbiAqIG9yIGBOYlRva2VuTG9jYWxTdG9yYWdlYCBhbmQgcHJvdmlkZSBpbiB5b3VyIGBhcHAubW9kdWxlYDpcbiAqIGBgYHRzXG4gKiB7IHByb3ZpZGU6IE5iVG9rZW5TdG9yYWdlLCB1c2VDbGFzczogTmJUb2tlbkN1c3RvbVN0b3JhZ2UgfSxcbiAqIGBgYFxuICpcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5iVG9rZW5Mb2NhbFN0b3JhZ2UgZXh0ZW5kcyBOYlRva2VuU3RvcmFnZSB7XG5cbiAgcHJvdGVjdGVkIGtleSA9ICdhdXRoX2FwcF90b2tlbic7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYXJjZWxlcjogTmJBdXRoVG9rZW5QYXJjZWxlcikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0b2tlbiBmcm9tIGxvY2FsU3RvcmFnZVxuICAgKiBAcmV0dXJucyB7TmJBdXRoVG9rZW59XG4gICAqL1xuICBnZXQoKTogTmJBdXRoVG9rZW4ge1xuICAgIGNvbnN0IHJhdyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMua2V5KTtcbiAgICByZXR1cm4gdGhpcy5wYXJjZWxlci51bndyYXAocmF3KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRva2VuIHRvIGxvY2FsU3RvcmFnZVxuICAgKiBAcGFyYW0ge05iQXV0aFRva2VufSB0b2tlblxuICAgKi9cbiAgc2V0KHRva2VuOiBOYkF1dGhUb2tlbikge1xuICAgIGNvbnN0IHJhdyA9IHRoaXMucGFyY2VsZXIud3JhcCh0b2tlbik7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5rZXksIHJhdyk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRva2VuIGZyb20gbG9jYWxTdG9yYWdlXG4gICAqL1xuICBjbGVhcigpIHtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLmtleSk7XG4gIH1cbn1cbiJdfQ==