1 | import { Injectable } from '@angular/core';
|
2 | import * as i0 from "@angular/core";
|
3 | import * as i1 from "./token-parceler";
|
4 | export class NbTokenStorage {
|
5 | }
|
6 | /**
|
7 | * Service that uses browser localStorage as a storage.
|
8 | *
|
9 | * The token storage is provided into auth module the following way:
|
10 | * ```ts
|
11 | * { provide: NbTokenStorage, useClass: NbTokenLocalStorage },
|
12 | * ```
|
13 | *
|
14 | * If you need to change the storage behaviour or provide your own - just extend your class from basic `NbTokenStorage`
|
15 | * or `NbTokenLocalStorage` and provide in your `app.module`:
|
16 | * ```ts
|
17 | * { provide: NbTokenStorage, useClass: NbTokenCustomStorage },
|
18 | * ```
|
19 | *
|
20 | */
|
21 | export class NbTokenLocalStorage extends NbTokenStorage {
|
22 | constructor(parceler) {
|
23 | super();
|
24 | this.parceler = parceler;
|
25 | this.key = 'auth_app_token';
|
26 | }
|
27 | /**
|
28 | * Returns token from localStorage
|
29 | * @returns {NbAuthToken}
|
30 | */
|
31 | get() {
|
32 | const raw = localStorage.getItem(this.key);
|
33 | return this.parceler.unwrap(raw);
|
34 | }
|
35 | /**
|
36 | * Sets token to localStorage
|
37 | * @param {NbAuthToken} token
|
38 | */
|
39 | set(token) {
|
40 | const raw = this.parceler.wrap(token);
|
41 | localStorage.setItem(this.key, raw);
|
42 | }
|
43 | /**
|
44 | * Clears token from localStorage
|
45 | */
|
46 | clear() {
|
47 | localStorage.removeItem(this.key);
|
48 | }
|
49 | }
|
50 | NbTokenLocalStorage.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NbTokenLocalStorage, deps: [{ token: i1.NbAuthTokenParceler }], target: i0.ɵɵFactoryTarget.Injectable });
|
51 | NbTokenLocalStorage.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NbTokenLocalStorage });
|
52 | i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: NbTokenLocalStorage, decorators: [{
|
53 | type: Injectable
|
54 | }], ctorParameters: function () { return [{ type: i1.NbAuthTokenParceler }]; } });
|
55 | //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9rZW4tc3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9mcmFtZXdvcmsvYXV0aC9zZXJ2aWNlcy90b2tlbi90b2tlbi1zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQUszQyxNQUFNLE9BQWdCLGNBQWM7Q0FLbkM7QUFFRDs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE1BQU0sT0FBTyxtQkFBb0IsU0FBUSxjQUFjO0lBSXJELFlBQW9CLFFBQTZCO1FBQy9DLEtBQUssRUFBRSxDQUFDO1FBRFUsYUFBUSxHQUFSLFFBQVEsQ0FBcUI7UUFGdkMsUUFBRyxHQUFHLGdCQUFnQixDQUFDO0lBSWpDLENBQUM7SUFFRDs7O09BR0c7SUFDSCxHQUFHO1FBQ0QsTUFBTSxHQUFHLEdBQUcsWUFBWSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDM0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsR0FBRyxDQUFDLEtBQWtCO1FBQ3BCLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLFlBQVksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLO1FBQ0gsWUFBWSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEMsQ0FBQzs7aUhBL0JVLG1CQUFtQjtxSEFBbkIsbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBRC9CLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IE5iQXV0aFRva2VuIH0gZnJvbSAnLi90b2tlbic7XG5pbXBvcnQgeyBOYkF1dGhUb2tlblBhcmNlbGVyIH0gZnJvbSAnLi90b2tlbi1wYXJjZWxlcic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOYlRva2VuU3RvcmFnZSB7XG5cbiAgYWJzdHJhY3QgZ2V0KCk6IE5iQXV0aFRva2VuO1xuICBhYnN0cmFjdCBzZXQodG9rZW46IE5iQXV0aFRva2VuKTtcbiAgYWJzdHJhY3QgY2xlYXIoKTtcbn1cblxuLyoqXG4gKiBTZXJ2aWNlIHRoYXQgdXNlcyBicm93c2VyIGxvY2FsU3RvcmFnZSBhcyBhIHN0b3JhZ2UuXG4gKlxuICogVGhlIHRva2VuIHN0b3JhZ2UgaXMgcHJvdmlkZWQgaW50byBhdXRoIG1vZHVsZSB0aGUgZm9sbG93aW5nIHdheTpcbiAqIGBgYHRzXG4gKiB7IHByb3ZpZGU6IE5iVG9rZW5TdG9yYWdlLCB1c2VDbGFzczogTmJUb2tlbkxvY2FsU3RvcmFnZSB9LFxuICogYGBgXG4gKlxuICogSWYgeW91IG5lZWQgdG8gY2hhbmdlIHRoZSBzdG9yYWdlIGJlaGF2aW91ciBvciBwcm92aWRlIHlvdXIgb3duIC0ganVzdCBleHRlbmQgeW91ciBjbGFzcyBmcm9tIGJhc2ljIGBOYlRva2VuU3RvcmFnZWBcbiAqIG9yIGBOYlRva2VuTG9jYWxTdG9yYWdlYCBhbmQgcHJvdmlkZSBpbiB5b3VyIGBhcHAubW9kdWxlYDpcbiAqIGBgYHRzXG4gKiB7IHByb3ZpZGU6IE5iVG9rZW5TdG9yYWdlLCB1c2VDbGFzczogTmJUb2tlbkN1c3RvbVN0b3JhZ2UgfSxcbiAqIGBgYFxuICpcbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5iVG9rZW5Mb2NhbFN0b3JhZ2UgZXh0ZW5kcyBOYlRva2VuU3RvcmFnZSB7XG5cbiAgcHJvdGVjdGVkIGtleSA9ICdhdXRoX2FwcF90b2tlbic7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBwYXJjZWxlcjogTmJBdXRoVG9rZW5QYXJjZWxlcikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0b2tlbiBmcm9tIGxvY2FsU3RvcmFnZVxuICAgKiBAcmV0dXJucyB7TmJBdXRoVG9rZW59XG4gICAqL1xuICBnZXQoKTogTmJBdXRoVG9rZW4ge1xuICAgIGNvbnN0IHJhdyA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMua2V5KTtcbiAgICByZXR1cm4gdGhpcy5wYXJjZWxlci51bndyYXAocmF3KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRva2VuIHRvIGxvY2FsU3RvcmFnZVxuICAgKiBAcGFyYW0ge05iQXV0aFRva2VufSB0b2tlblxuICAgKi9cbiAgc2V0KHRva2VuOiBOYkF1dGhUb2tlbikge1xuICAgIGNvbnN0IHJhdyA9IHRoaXMucGFyY2VsZXIud3JhcCh0b2tlbik7XG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5rZXksIHJhdyk7XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIHRva2VuIGZyb20gbG9jYWxTdG9yYWdlXG4gICAqL1xuICBjbGVhcigpIHtcbiAgICBsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh0aGlzLmtleSk7XG4gIH1cbn1cbiJdfQ== |
\ | No newline at end of file |