@symbiote-native/local-auth 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +40 -0
- package/package.json +19 -0
package/README.md
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# @symbiote-native/local-auth
|
|
2
|
+
|
|
3
|
+
Planned port of [`expo-local-authentication`](https://docs.expo.dev/versions/latest/sdk/local-authentication/)
|
|
4
|
+
for [SymbioteNative](../../README.md) — FaceID/TouchID on iOS, the Fingerprint/Biometric API on
|
|
5
|
+
Android, reachable from every adapter (React, Vue, Angular), not just React.
|
|
6
|
+
|
|
7
|
+
**Status: skeleton only.** This package is not implemented yet — no source, no native wiring, not
|
|
8
|
+
functional. Published early to reserve the npm name. Built the same way as
|
|
9
|
+
[`@symbiote-native/sensors`](../sensors), a prior `expo-modules-core`-based wrapper (see the
|
|
10
|
+
`symbiote-expo-native-module` project skill for the full mechanism: why `expo-modules-core` is
|
|
11
|
+
depended on directly and never the `expo` meta-package, why the upstream JS is hand-ported into
|
|
12
|
+
`core/` rather than imported, and how autolinking picks up the native module).
|
|
13
|
+
|
|
14
|
+
## Planned API surface
|
|
15
|
+
|
|
16
|
+
Free functions, no event stream, no per-instance state — upstream ships a handful of async
|
|
17
|
+
functions and two enums, not a subscribable sensor:
|
|
18
|
+
|
|
19
|
+
```ts
|
|
20
|
+
hasHardwareAsync(): Promise<boolean>
|
|
21
|
+
isEnrolledAsync(): Promise<boolean>
|
|
22
|
+
getEnrolledLevelAsync(): Promise<SecurityLevel>
|
|
23
|
+
supportedAuthenticationTypesAsync(): Promise<AuthenticationType[]>
|
|
24
|
+
authenticateAsync(options?: LocalAuthenticationOptions): Promise<LocalAuthenticationResult>
|
|
25
|
+
cancelAuthenticate(): Promise<void> // Android only
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
Plus `AuthenticationType`, `SecurityLevel`, `LocalAuthenticationOptions`,
|
|
29
|
+
`LocalAuthenticationResult`, `LocalAuthenticationError`, `BiometricsSecurityLevel` — ported
|
|
30
|
+
verbatim from upstream's `LocalAuthentication.types.ts`, since they're plain data with no native or
|
|
31
|
+
React dependency.
|
|
32
|
+
|
|
33
|
+
## Not yet done
|
|
34
|
+
|
|
35
|
+
- `src/core` — ported types/enums + the six functions over `requireNativeModule('ExpoLocalAuthentication')`
|
|
36
|
+
- `react`/`vue`/`angular` entry points — thin re-exports, no adapter-specific state needed
|
|
37
|
+
- Native wiring in an example app (`use_expo_modules!`, Android Gradle autolinking,
|
|
38
|
+
`NSFaceIDUsageDescription` in `Info.plist`, `USE_BIOMETRIC`/`USE_FINGERPRINT` on Android)
|
|
39
|
+
- Tests, following upstream's own fake-native-module pattern (no Fabric/Descriptor angle — this
|
|
40
|
+
wraps no native view)
|
package/package.json
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@symbiote-native/local-auth",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"description": "expo-local-authentication wrapped for SymbioteNative — planned: one framework-agnostic core, reachable from the React, Vue, and Angular adapters. FaceID/TouchID (iOS) and the Fingerprint/Biometric API (Android). Skeleton only — no implementation yet, see README.",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"repository": {
|
|
7
|
+
"type": "git",
|
|
8
|
+
"url": "git+https://github.com/OneEyed1366/symbiote-native.git",
|
|
9
|
+
"directory": "packages/local-auth"
|
|
10
|
+
},
|
|
11
|
+
"homepage": "https://github.com/OneEyed1366/symbiote-native/tree/master/packages/local-auth#readme",
|
|
12
|
+
"bugs": {
|
|
13
|
+
"url": "https://github.com/OneEyed1366/symbiote-native/issues"
|
|
14
|
+
},
|
|
15
|
+
"author": "Andrey Prokopenko <psevdoproger@gmail.com>",
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"access": "public"
|
|
18
|
+
}
|
|
19
|
+
}
|