UNPKG

@phemium-costaisa/fingerprint-auth

Version:

Automatic plugin to work with FaceID and TouchID authentication

33 lines 5.43 kB
import { Inject, Pipe } from '@angular/core'; import { Platform } from '@ionic/angular'; import { forkJoin, from } from 'rxjs'; import { map, switchMap, tap } from 'rxjs/operators'; import { FingerprintService } from '../service/fingerprint.service'; import { Config } from '../tokens'; export class BiometricLoginActivePipe { constructor(fingerprintService, platform, config) { this.fingerprintService = fingerprintService; this.platform = platform; this.config = config; } transform(user) { this.config.debug && console.log('[BiometricLoginActive]', user); return from(this.platform.ready()).pipe(tap(() => this.config.debug && console.log('[BiometricLoginActive]', 'Platform is ready')), switchMap(() => { return forkJoin([ this.fingerprintService.showFingerprintId(user, 'face'), this.fingerprintService.showFingerprintId(user, 'touch') ]); }), tap(([face, touch]) => this.config.debug && console.log('[BiometricLoginActive]', 'Face:', face, 'Touch:', touch)), map(([face, touch]) => face || touch)); } } BiometricLoginActivePipe.decorators = [ { type: Pipe, args: [{ name: 'biometricLoginActive' },] } ]; BiometricLoginActivePipe.ctorParameters = () => [ { type: FingerprintService }, { type: Platform }, { type: undefined, decorators: [{ type: Inject, args: [Config,] }] } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmlvbWV0cmljLWxvZ2luLmFjdGl2ZS5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZmluZ2VycHJpbnRBdXRoL3NyYy9saWIvcGlwZXMvYmlvbWV0cmljLWxvZ2luLmFjdGl2ZS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQWMsTUFBTSxNQUFNLENBQUM7QUFDbEQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDcEUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUtuQyxNQUFNLE9BQU8sd0JBQXdCO0lBRW5DLFlBQ1Usa0JBQXNDLEVBQ3RDLFFBQWtCLEVBQ08sTUFBb0M7UUFGN0QsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFvQjtRQUN0QyxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ08sV0FBTSxHQUFOLE1BQU0sQ0FBOEI7SUFDbkUsQ0FBQztJQUVMLFNBQVMsQ0FBQyxJQUFZO1FBQ3BCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLEVBQUUsSUFBSSxDQUFDLENBQUE7UUFDaEUsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDckMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLE9BQU8sQ0FBQyxHQUFHLENBQUMsd0JBQXdCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxFQUMxRixTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2IsT0FBTyxRQUFRLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUM7Z0JBQ3ZELElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDO2FBQ3pELENBQUMsQ0FBQTtRQUNKLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFDLHdCQUF3QixFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQ2xILEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLENBQ3RDLENBQUE7SUFDSCxDQUFDOzs7WUF4QkYsSUFBSSxTQUFDO2dCQUNKLElBQUksRUFBRSxzQkFBc0I7YUFDN0I7OztZQUxRLGtCQUFrQjtZQUpsQixRQUFROzRDQWVaLE1BQU0sU0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFBsYXRmb3JtIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiwgZnJvbSwgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBtYXAsIHN3aXRjaE1hcCwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBGaW5nZXJwcmludEF1dGhDb25maWd1cmF0aW9uIH0gZnJvbSAnLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7IEZpbmdlcnByaW50U2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2UvZmluZ2VycHJpbnQuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJy4uL3Rva2Vucyc7XHJcblxyXG5AUGlwZSh7XHJcbiAgbmFtZTogJ2Jpb21ldHJpY0xvZ2luQWN0aXZlJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQmlvbWV0cmljTG9naW5BY3RpdmVQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBmaW5nZXJwcmludFNlcnZpY2U6IEZpbmdlcnByaW50U2VydmljZSxcclxuICAgIHByaXZhdGUgcGxhdGZvcm06IFBsYXRmb3JtLFxyXG4gICAgQEluamVjdChDb25maWcpIHByaXZhdGUgcmVhZG9ubHkgY29uZmlnOiBGaW5nZXJwcmludEF1dGhDb25maWd1cmF0aW9uXHJcbiAgKSB7IH1cclxuXHJcbiAgdHJhbnNmb3JtKHVzZXI6IHN0cmluZyk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xyXG4gICAgdGhpcy5jb25maWcuZGVidWcgJiYgY29uc29sZS5sb2coJ1tCaW9tZXRyaWNMb2dpbkFjdGl2ZV0nLCB1c2VyKVxyXG4gICAgcmV0dXJuIGZyb20odGhpcy5wbGF0Zm9ybS5yZWFkeSgpKS5waXBlKFxyXG4gICAgICB0YXAoKCkgPT4gdGhpcy5jb25maWcuZGVidWcgJiYgY29uc29sZS5sb2coJ1tCaW9tZXRyaWNMb2dpbkFjdGl2ZV0nLCAnUGxhdGZvcm0gaXMgcmVhZHknKSksXHJcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGZvcmtKb2luKFtcclxuICAgICAgICAgIHRoaXMuZmluZ2VycHJpbnRTZXJ2aWNlLnNob3dGaW5nZXJwcmludElkKHVzZXIsICdmYWNlJyksXHJcbiAgICAgICAgICB0aGlzLmZpbmdlcnByaW50U2VydmljZS5zaG93RmluZ2VycHJpbnRJZCh1c2VyLCAndG91Y2gnKVxyXG4gICAgICAgIF0pXHJcbiAgICAgIH0pLFxyXG4gICAgICB0YXAoKFtmYWNlLCB0b3VjaF0pID0+IHRoaXMuY29uZmlnLmRlYnVnICYmIGNvbnNvbGUubG9nKCdbQmlvbWV0cmljTG9naW5BY3RpdmVdJywgJ0ZhY2U6JywgZmFjZSwgJ1RvdWNoOicsIHRvdWNoKSksXHJcbiAgICAgIG1hcCgoW2ZhY2UsIHRvdWNoXSkgPT4gZmFjZSB8fCB0b3VjaClcclxuICAgIClcclxuICB9XHJcblxyXG59XHJcbiJdfQ==