@phemium-costaisa/fingerprint-auth
Version:
Automatic plugin to work with FaceID and TouchID authentication
33 lines • 5.43 kB
JavaScript
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==