diff --git a/src/index.ts b/src/index.ts index e3030d3e82..5e41d57e24 100644 --- a/src/index.ts +++ b/src/index.ts @@ -46,6 +46,7 @@ import { FileChooser } from './plugins/file-chooser'; import { FileOpener } from './plugins/file-opener'; import { FilePath } from './plugins/filepath'; import { Transfer } from './plugins/filetransfer'; +import { FingerprintAIO } from './plugins/fingerprint-aio'; import { Firebase } from './plugins/firebase'; import { Flashlight } from './plugins/flashlight'; import { Geofence } from './plugins/geofence'; @@ -162,6 +163,7 @@ export * from './plugins/file-opener'; export * from './plugins/filetransfer'; export * from './plugins/firebase'; export * from './plugins/filepath'; +export * from './plugins/fingerprint-aio'; export * from './plugins/flashlight'; export * from './plugins/geofence'; export * from './plugins/geolocation'; @@ -277,6 +279,7 @@ window['IonicNative'] = { FileChooser, FileOpener, FilePath, + FingerprintAIO, Flashlight, Firebase, Geofence, diff --git a/src/plugins/fingerprint-aio.ts b/src/plugins/fingerprint-aio.ts new file mode 100644 index 0000000000..c8f47f34b3 --- /dev/null +++ b/src/plugins/fingerprint-aio.ts @@ -0,0 +1,65 @@ +import { Plugin, Cordova} from './plugin'; + + +export interface FingerprintOptions { + /** + * Key for platform keychain + */ + clientId: string; + + /** + * Secret password. Only for android + */ + clientSecret?: string; +} + +/** +* @name FingerprintAIO +* @description +* Use simple fingerprint authentication on Android and iOS. +* Requires Cordova plugin: cordova-plugin-fingerprint-aio. For more info about plugin, vist: https://github.com/NiklasMerz/cordova-plugin-fingerprint-aio +* +* @usage +* ```typescript +* import { FingerprintAIO } from 'ionic-native'; +* +* FingerprintAIO.show({ +* clientId: "Fingerprint-Demo", +* clientSecret: "password" //Only necessary for Android +* }) +* .then((result: any) => console.log(any)) +* .catch((error: any) => console.log(error)); +* +* ``` +* @interfaces +* FingerprintOptions +*/ +@Plugin({ + pluginName: 'FingerprintAIO', + plugin: 'cordova-plugin-fingerprint-aio', + pluginRef: 'Fingerprint', + repo: 'https://github.com/NiklasMerz/cordova-plugin-fingerprint-aio', + platforms: ['Android', 'iOS'] +}) +export class FingerprintAIO { + + /** + * Check if fingerprint authentication is available + * @return {Promise} Returns a promise with result + */ + @Cordova() + static isAvailable(): Promise { + return; + } + + /** + * Show authentication dialogue + * @param options {FingerprintOptions} options for platform specific fingerprint API + * @return {Promise} Returns a promise that resolves when authentication was successfull + */ + @Cordova() + static show(options: FingerprintOptions): Promise { + return; + } + +}