UNPKG

@nebular/auth

Version:
69 lines 9.16 kB
import { Injectable } from '@angular/core'; import { of as observableOf } from 'rxjs'; import { delay } from 'rxjs/operators'; import { NbAuthStrategy } from '../auth-strategy'; import { NbAuthResult } from '../../services/auth-result'; import { dummyStrategyOptions } from './dummy-strategy-options'; import * as i0 from "@angular/core"; /** * Dummy auth strategy. Could be useful for auth setup when backend is not available yet. * * * Strategy settings. * * ```ts * export class NbDummyAuthStrategyOptions extends NbAuthStrategyOptions { * name = 'dummy'; * token = { * class: NbAuthSimpleToken, * }; * delay? = 1000; * alwaysFail? = false; * } * ``` */ export class NbDummyAuthStrategy extends NbAuthStrategy { constructor() { super(...arguments); this.defaultOptions = dummyStrategyOptions; } static setup(options) { return [NbDummyAuthStrategy, options]; } authenticate(data) { return observableOf(this.createDummyResult(data)).pipe(delay(this.getOption('delay'))); } register(data) { return observableOf(this.createDummyResult(data)).pipe(delay(this.getOption('delay'))); } requestPassword(data) { return observableOf(this.createDummyResult(data)).pipe(delay(this.getOption('delay'))); } resetPassword(data) { return observableOf(this.createDummyResult(data)).pipe(delay(this.getOption('delay'))); } logout(data) { return observableOf(this.createDummyResult(data)).pipe(delay(this.getOption('delay'))); } refreshToken(data) { return observableOf(this.createDummyResult(data)).pipe(delay(this.getOption('delay'))); } createDummyResult(data) { if (this.getOption('alwaysFail')) { return new NbAuthResult(false, this.createFailResponse(data), null, ['Something went wrong.']); } try { const token = this.createToken('test token', true); return new NbAuthResult(true, this.createSuccessResponse(data), '/', [], ['Successfully logged in.'], token); } catch (err) { return new NbAuthResult(false, this.createFailResponse(data), null, [err.message]); } } static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NbDummyAuthStrategy, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); } static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NbDummyAuthStrategy }); } } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: NbDummyAuthStrategy, decorators: [{ type: Injectable }] }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVtbXktc3RyYXRlZ3kuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZnJhbWV3b3JrL2F1dGgvc3RyYXRlZ2llcy9kdW1teS9kdW1teS1zdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNDLE9BQU8sRUFBYyxFQUFFLElBQUksWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUV2QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzFELE9BQU8sRUFBOEIsb0JBQW9CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFHNUY7Ozs7Ozs7Ozs7Ozs7Ozs7R0FnQkc7QUFFSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsY0FBYztJQUR2RDs7UUFFWSxtQkFBYyxHQUErQixvQkFBb0IsQ0FBQztLQTBDN0U7SUF4Q0MsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFtQztRQUM5QyxPQUFPLENBQUMsbUJBQW1CLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFVO1FBQ3JCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELFFBQVEsQ0FBQyxJQUFVO1FBQ2pCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELGVBQWUsQ0FBQyxJQUFVO1FBQ3hCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELGFBQWEsQ0FBQyxJQUFVO1FBQ3RCLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFVO1FBQ2YsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRUQsWUFBWSxDQUFDLElBQVU7UUFDckIsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN6RixDQUFDO0lBRVMsaUJBQWlCLENBQUMsSUFBVTtRQUNwQyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQztZQUNqQyxPQUFPLElBQUksWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDO1FBQ2pHLENBQUM7UUFFRCxJQUFJLENBQUM7WUFDSCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNuRCxPQUFPLElBQUksWUFBWSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLHlCQUF5QixDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDL0csQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixPQUFPLElBQUksWUFBWSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUUsR0FBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7UUFDaEcsQ0FBQztJQUNILENBQUM7OEdBMUNVLG1CQUFtQjtrSEFBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQUQvQixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiBhcyBvYnNlcnZhYmxlT2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGRlbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBOYkF1dGhTdHJhdGVneSB9IGZyb20gJy4uL2F1dGgtc3RyYXRlZ3knO1xuaW1wb3J0IHsgTmJBdXRoUmVzdWx0IH0gZnJvbSAnLi4vLi4vc2VydmljZXMvYXV0aC1yZXN1bHQnO1xuaW1wb3J0IHsgTmJEdW1teUF1dGhTdHJhdGVneU9wdGlvbnMsIGR1bW15U3RyYXRlZ3lPcHRpb25zIH0gZnJvbSAnLi9kdW1teS1zdHJhdGVneS1vcHRpb25zJztcbmltcG9ydCB7IE5iQXV0aFN0cmF0ZWd5Q2xhc3MgfSBmcm9tICcuLi8uLi9hdXRoLm9wdGlvbnMnO1xuXG4vKipcbiAqIER1bW15IGF1dGggc3RyYXRlZ3kuIENvdWxkIGJlIHVzZWZ1bCBmb3IgYXV0aCBzZXR1cCB3aGVuIGJhY2tlbmQgaXMgbm90IGF2YWlsYWJsZSB5ZXQuXG4gKlxuICpcbiAqIFN0cmF0ZWd5IHNldHRpbmdzLlxuICpcbiAqIGBgYHRzXG4gKiBleHBvcnQgY2xhc3MgTmJEdW1teUF1dGhTdHJhdGVneU9wdGlvbnMgZXh0ZW5kcyBOYkF1dGhTdHJhdGVneU9wdGlvbnMge1xuICogICBuYW1lID0gJ2R1bW15JztcbiAqICAgdG9rZW4gPSB7XG4gKiAgICAgY2xhc3M6IE5iQXV0aFNpbXBsZVRva2VuLFxuICogICB9O1xuICogICBkZWxheT8gPSAxMDAwO1xuICogICBhbHdheXNGYWlsPyA9IGZhbHNlO1xuICogfVxuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOYkR1bW15QXV0aFN0cmF0ZWd5IGV4dGVuZHMgTmJBdXRoU3RyYXRlZ3kge1xuICBwcm90ZWN0ZWQgZGVmYXVsdE9wdGlvbnM6IE5iRHVtbXlBdXRoU3RyYXRlZ3lPcHRpb25zID0gZHVtbXlTdHJhdGVneU9wdGlvbnM7XG5cbiAgc3RhdGljIHNldHVwKG9wdGlvbnM6IE5iRHVtbXlBdXRoU3RyYXRlZ3lPcHRpb25zKTogW05iQXV0aFN0cmF0ZWd5Q2xhc3MsIE5iRHVtbXlBdXRoU3RyYXRlZ3lPcHRpb25zXSB7XG4gICAgcmV0dXJuIFtOYkR1bW15QXV0aFN0cmF0ZWd5LCBvcHRpb25zXTtcbiAgfVxuXG4gIGF1dGhlbnRpY2F0ZShkYXRhPzogYW55KTogT2JzZXJ2YWJsZTxOYkF1dGhSZXN1bHQ+IHtcbiAgICByZXR1cm4gb2JzZXJ2YWJsZU9mKHRoaXMuY3JlYXRlRHVtbXlSZXN1bHQoZGF0YSkpLnBpcGUoZGVsYXkodGhpcy5nZXRPcHRpb24oJ2RlbGF5JykpKTtcbiAgfVxuXG4gIHJlZ2lzdGVyKGRhdGE/OiBhbnkpOiBPYnNlcnZhYmxlPE5iQXV0aFJlc3VsdD4ge1xuICAgIHJldHVybiBvYnNlcnZhYmxlT2YodGhpcy5jcmVhdGVEdW1teVJlc3VsdChkYXRhKSkucGlwZShkZWxheSh0aGlzLmdldE9wdGlvbignZGVsYXknKSkpO1xuICB9XG5cbiAgcmVxdWVzdFBhc3N3b3JkKGRhdGE/OiBhbnkpOiBPYnNlcnZhYmxlPE5iQXV0aFJlc3VsdD4ge1xuICAgIHJldHVybiBvYnNlcnZhYmxlT2YodGhpcy5jcmVhdGVEdW1teVJlc3VsdChkYXRhKSkucGlwZShkZWxheSh0aGlzLmdldE9wdGlvbignZGVsYXknKSkpO1xuICB9XG5cbiAgcmVzZXRQYXNzd29yZChkYXRhPzogYW55KTogT2JzZXJ2YWJsZTxOYkF1dGhSZXN1bHQ+IHtcbiAgICByZXR1cm4gb2JzZXJ2YWJsZU9mKHRoaXMuY3JlYXRlRHVtbXlSZXN1bHQoZGF0YSkpLnBpcGUoZGVsYXkodGhpcy5nZXRPcHRpb24oJ2RlbGF5JykpKTtcbiAgfVxuXG4gIGxvZ291dChkYXRhPzogYW55KTogT2JzZXJ2YWJsZTxOYkF1dGhSZXN1bHQ+IHtcbiAgICByZXR1cm4gb2JzZXJ2YWJsZU9mKHRoaXMuY3JlYXRlRHVtbXlSZXN1bHQoZGF0YSkpLnBpcGUoZGVsYXkodGhpcy5nZXRPcHRpb24oJ2RlbGF5JykpKTtcbiAgfVxuXG4gIHJlZnJlc2hUb2tlbihkYXRhPzogYW55KTogT2JzZXJ2YWJsZTxOYkF1dGhSZXN1bHQ+IHtcbiAgICByZXR1cm4gb2JzZXJ2YWJsZU9mKHRoaXMuY3JlYXRlRHVtbXlSZXN1bHQoZGF0YSkpLnBpcGUoZGVsYXkodGhpcy5nZXRPcHRpb24oJ2RlbGF5JykpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVEdW1teVJlc3VsdChkYXRhPzogYW55KTogTmJBdXRoUmVzdWx0IHtcbiAgICBpZiAodGhpcy5nZXRPcHRpb24oJ2Fsd2F5c0ZhaWwnKSkge1xuICAgICAgcmV0dXJuIG5ldyBOYkF1dGhSZXN1bHQoZmFsc2UsIHRoaXMuY3JlYXRlRmFpbFJlc3BvbnNlKGRhdGEpLCBudWxsLCBbJ1NvbWV0aGluZyB3ZW50IHdyb25nLiddKTtcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLmNyZWF0ZVRva2VuKCd0ZXN0IHRva2VuJywgdHJ1ZSk7XG4gICAgICByZXR1cm4gbmV3IE5iQXV0aFJlc3VsdCh0cnVlLCB0aGlzLmNyZWF0ZVN1Y2Nlc3NSZXNwb25zZShkYXRhKSwgJy8nLCBbXSwgWydTdWNjZXNzZnVsbHkgbG9nZ2VkIGluLiddLCB0b2tlbik7XG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICByZXR1cm4gbmV3IE5iQXV0aFJlc3VsdChmYWxzZSwgdGhpcy5jcmVhdGVGYWlsUmVzcG9uc2UoZGF0YSksIG51bGwsIFsoZXJyIGFzIEVycm9yKS5tZXNzYWdlXSk7XG4gICAgfVxuICB9XG59XG4iXX0=