react-native-authsignal 1.3.3 → 1.3.5
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/android/build.gradle +1 -1
- package/android/src/main/java/com/authsignal/react/AuthsignalDeviceModule.kt +11 -2
- package/ios/AuthsignalDeviceModule.m +2 -0
- package/ios/AuthsignalDeviceModule.swift +42 -3
- package/ios/AuthsignalPushModule.swift +1 -1
- package/lib/commonjs/device.js +4 -2
- package/lib/commonjs/device.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/module/device.js +5 -3
- package/lib/module/device.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/device.d.ts +4 -2
- package/lib/typescript/device.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +1 -0
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/react-native-authsignal.podspec +1 -1
- package/src/device.ts +17 -5
- package/src/types.ts +1 -0
package/android/build.gradle
CHANGED
|
@@ -47,13 +47,16 @@ class AuthsignalDeviceModule(private val reactContext: ReactApplicationContext)
|
|
|
47
47
|
val errorCode = response.errorCode ?: defaultError
|
|
48
48
|
|
|
49
49
|
promise.reject(errorCode, response.error)
|
|
50
|
-
} else {
|
|
50
|
+
} else if (response.data != null) {
|
|
51
51
|
val credential = response.data
|
|
52
52
|
val map = Arguments.createMap()
|
|
53
53
|
map.putString("credentialId", credential!!.credentialId)
|
|
54
54
|
map.putString("createdAt", credential.createdAt)
|
|
55
|
+
map.putString("userId", credential.userId)
|
|
55
56
|
map.putString("lastAuthenticatedAt", credential.lastAuthenticatedAt)
|
|
56
57
|
promise.resolve(map)
|
|
58
|
+
} else {
|
|
59
|
+
promise.resolve(null)
|
|
57
60
|
}
|
|
58
61
|
}
|
|
59
62
|
}
|
|
@@ -71,7 +74,13 @@ class AuthsignalDeviceModule(private val reactContext: ReactApplicationContext)
|
|
|
71
74
|
|
|
72
75
|
promise.reject(errorCode, response.error)
|
|
73
76
|
} else {
|
|
74
|
-
|
|
77
|
+
val credential = response.data
|
|
78
|
+
val map = Arguments.createMap()
|
|
79
|
+
map.putString("credentialId", credential!!.credentialId)
|
|
80
|
+
map.putString("createdAt", credential.createdAt)
|
|
81
|
+
map.putString("userId", credential.userId)
|
|
82
|
+
map.putString("lastAuthenticatedAt", credential.lastAuthenticatedAt)
|
|
83
|
+
promise.resolve(map)
|
|
75
84
|
}
|
|
76
85
|
}
|
|
77
86
|
}
|
|
@@ -12,6 +12,8 @@ RCT_EXTERN_METHOD(getCredential:(RCTPromiseResolveBlock)resolve
|
|
|
12
12
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
13
13
|
|
|
14
14
|
RCT_EXTERN_METHOD(addCredential:(NSString)token
|
|
15
|
+
withRequireUserAuthentication:(BOOL)requireUserAuthentication
|
|
16
|
+
withKeychainAccess:(NSString)keychainAccess
|
|
15
17
|
resolver:(RCTPromiseResolveBlock)resolve
|
|
16
18
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
17
19
|
|
|
@@ -39,6 +39,7 @@ class AuthsignalDeviceModule: NSObject {
|
|
|
39
39
|
let credential: [String: String?] = [
|
|
40
40
|
"credentialId": data.credentialId,
|
|
41
41
|
"createdAt": data.createdAt,
|
|
42
|
+
"userId": data.userId,
|
|
42
43
|
"lastAuthenticatedAt": data.lastAuthenticatedAt,
|
|
43
44
|
]
|
|
44
45
|
|
|
@@ -51,6 +52,8 @@ class AuthsignalDeviceModule: NSObject {
|
|
|
51
52
|
|
|
52
53
|
@objc func addCredential(
|
|
53
54
|
_ token: NSString?,
|
|
55
|
+
withRequireUserAuthentication requireUserAuthentication: Bool,
|
|
56
|
+
withKeychainAccess keychainAccess: NSString,
|
|
54
57
|
resolver resolve: @escaping RCTPromiseResolveBlock,
|
|
55
58
|
rejecter reject: @escaping RCTPromiseRejectBlock
|
|
56
59
|
) -> Void {
|
|
@@ -60,15 +63,29 @@ class AuthsignalDeviceModule: NSObject {
|
|
|
60
63
|
}
|
|
61
64
|
|
|
62
65
|
let tokenStr = token as String?
|
|
63
|
-
let
|
|
66
|
+
let userPresenceRequired = requireUserAuthentication as Bool
|
|
67
|
+
let keychainAccess = getKeychainAccess(value: keychainAccess as String?)
|
|
64
68
|
|
|
65
69
|
Task.init {
|
|
66
|
-
let response = await authsignal.addCredential(
|
|
70
|
+
let response = await authsignal.addCredential(
|
|
71
|
+
token: tokenStr,
|
|
72
|
+
keychainAccess: keychainAccess,
|
|
73
|
+
userPresenceRequired: userPresenceRequired
|
|
74
|
+
)
|
|
67
75
|
|
|
68
76
|
if let error = response.error {
|
|
69
77
|
reject(response.errorCode ?? "unexpected_error", error, nil)
|
|
78
|
+
} else if let data = response.data {
|
|
79
|
+
let credential: [String: String?] = [
|
|
80
|
+
"credentialId": data.credentialId,
|
|
81
|
+
"createdAt": data.createdAt,
|
|
82
|
+
"userId": data.userId,
|
|
83
|
+
"lastAuthenticatedAt": data.lastAuthenticatedAt,
|
|
84
|
+
]
|
|
85
|
+
|
|
86
|
+
resolve(credential)
|
|
70
87
|
} else {
|
|
71
|
-
resolve(
|
|
88
|
+
resolve(nil)
|
|
72
89
|
}
|
|
73
90
|
}
|
|
74
91
|
}
|
|
@@ -214,4 +231,26 @@ class AuthsignalDeviceModule: NSObject {
|
|
|
214
231
|
}
|
|
215
232
|
}
|
|
216
233
|
}
|
|
234
|
+
|
|
235
|
+
func getKeychainAccess(value: String?) -> KeychainAccess {
|
|
236
|
+
switch value {
|
|
237
|
+
case "afterFirstUnlock":
|
|
238
|
+
return .afterFirstUnlock
|
|
239
|
+
|
|
240
|
+
case "afterFirstUnlockThisDeviceOnly":
|
|
241
|
+
return .afterFirstUnlockThisDeviceOnly
|
|
242
|
+
|
|
243
|
+
case "whenUnlocked":
|
|
244
|
+
return .whenUnlocked
|
|
245
|
+
|
|
246
|
+
case "whenUnlockedThisDeviceOnly":
|
|
247
|
+
return .whenUnlockedThisDeviceOnly
|
|
248
|
+
|
|
249
|
+
case "whenPasscodeSetThisDeviceOnly":
|
|
250
|
+
return .whenPasscodeSetThisDeviceOnly
|
|
251
|
+
|
|
252
|
+
default:
|
|
253
|
+
return .whenUnlockedThisDeviceOnly
|
|
254
|
+
}
|
|
255
|
+
}
|
|
217
256
|
}
|
package/lib/commonjs/device.js
CHANGED
|
@@ -43,11 +43,13 @@ class AuthsignalDevice {
|
|
|
43
43
|
}
|
|
44
44
|
async addCredential() {
|
|
45
45
|
let {
|
|
46
|
-
token
|
|
46
|
+
token,
|
|
47
|
+
requireUserAuthentication = false,
|
|
48
|
+
keychainAccess
|
|
47
49
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
48
50
|
await this.ensureModuleIsInitialized();
|
|
49
51
|
try {
|
|
50
|
-
const data = await AuthsignalDeviceModule.addCredential(token);
|
|
52
|
+
const data = _reactNative.Platform.OS === 'ios' ? await AuthsignalDeviceModule.addCredential(token, requireUserAuthentication, keychainAccess) : await AuthsignalDeviceModule.addCredential(token);
|
|
51
53
|
return {
|
|
52
54
|
data
|
|
53
55
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["initialized","AuthsignalDeviceModule","NativeModules","Proxy","get","Error","LINKING_ERROR","AuthsignalDevice","constructor","tenantID","baseURL","enableLogging","getCredential","ensureModuleIsInitialized","data","ex","console","log","handleErrorCodes","addCredential","token","removeCredential","getChallenge","claimChallenge","challengeId","updateChallenge","approved","verificationCode","verify","initialize"],"sourceRoot":"../../src","sources":["device.ts"],"mappings":";;;;;;AAAA;AACA;AAA0D;
|
|
1
|
+
{"version":3,"names":["initialized","AuthsignalDeviceModule","NativeModules","Proxy","get","Error","LINKING_ERROR","AuthsignalDevice","constructor","tenantID","baseURL","enableLogging","getCredential","ensureModuleIsInitialized","data","ex","console","log","handleErrorCodes","addCredential","token","requireUserAuthentication","keychainAccess","Platform","OS","removeCredential","getChallenge","claimChallenge","challengeId","updateChallenge","approved","verificationCode","verify","initialize"],"sourceRoot":"../../src","sources":["device.ts"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KeychainAccess"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"names":["KeychainAccess"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;;;;;IA2FYA,cAAc;AAAA;AAAA,WAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;AAAA,GAAdA,cAAc,8BAAdA,cAAc"}
|
package/lib/module/device.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
-
import { NativeModules } from 'react-native';
|
|
2
|
+
import { NativeModules, Platform } from 'react-native';
|
|
3
3
|
import { handleErrorCodes, LINKING_ERROR } from './error';
|
|
4
4
|
let initialized = false;
|
|
5
5
|
const AuthsignalDeviceModule = NativeModules.AuthsignalDeviceModule ? NativeModules.AuthsignalDeviceModule : new Proxy({}, {
|
|
@@ -37,11 +37,13 @@ export class AuthsignalDevice {
|
|
|
37
37
|
}
|
|
38
38
|
async addCredential() {
|
|
39
39
|
let {
|
|
40
|
-
token
|
|
40
|
+
token,
|
|
41
|
+
requireUserAuthentication = false,
|
|
42
|
+
keychainAccess
|
|
41
43
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
42
44
|
await this.ensureModuleIsInitialized();
|
|
43
45
|
try {
|
|
44
|
-
const data = await AuthsignalDeviceModule.addCredential(token);
|
|
46
|
+
const data = Platform.OS === 'ios' ? await AuthsignalDeviceModule.addCredential(token, requireUserAuthentication, keychainAccess) : await AuthsignalDeviceModule.addCredential(token);
|
|
45
47
|
return {
|
|
46
48
|
data
|
|
47
49
|
};
|
package/lib/module/device.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","handleErrorCodes","LINKING_ERROR","initialized","AuthsignalDeviceModule","Proxy","get","Error","AuthsignalDevice","constructor","tenantID","baseURL","enableLogging","getCredential","ensureModuleIsInitialized","data","ex","console","log","addCredential","token","removeCredential","getChallenge","claimChallenge","challengeId","updateChallenge","approved","verificationCode","verify","initialize"],"sourceRoot":"../../src","sources":["device.ts"],"mappings":";AAAA,SAASA,aAAa,QAAQ,cAAc;
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","handleErrorCodes","LINKING_ERROR","initialized","AuthsignalDeviceModule","Proxy","get","Error","AuthsignalDevice","constructor","tenantID","baseURL","enableLogging","getCredential","ensureModuleIsInitialized","data","ex","console","log","addCredential","token","requireUserAuthentication","keychainAccess","OS","removeCredential","getChallenge","claimChallenge","challengeId","updateChallenge","approved","verificationCode","verify","initialize"],"sourceRoot":"../../src","sources":["device.ts"],"mappings":"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"}
|
package/lib/module/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["KeychainAccess"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":"
|
|
1
|
+
{"version":3,"names":["KeychainAccess"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":"AA2FA,WAAYA,cAAc;AAMzB,WANWA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;AAAA,GAAdA,cAAc,KAAdA,cAAc"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AuthsignalResponse, ClaimChallengeResponse, DeviceChallenge, DeviceCredential, VerifyDeviceResponse } from './types';
|
|
1
|
+
import type { AuthsignalResponse, ClaimChallengeResponse, DeviceChallenge, DeviceCredential, KeychainAccess, VerifyDeviceResponse } from './types';
|
|
2
2
|
interface ConstructorArgs {
|
|
3
3
|
tenantID: string;
|
|
4
4
|
baseURL: string;
|
|
@@ -6,6 +6,8 @@ interface ConstructorArgs {
|
|
|
6
6
|
}
|
|
7
7
|
interface AddCredentialInput {
|
|
8
8
|
token?: string;
|
|
9
|
+
requireUserAuthentication?: boolean;
|
|
10
|
+
keychainAccess?: KeychainAccess;
|
|
9
11
|
}
|
|
10
12
|
interface ClaimChallengeInput {
|
|
11
13
|
challengeId: string;
|
|
@@ -21,7 +23,7 @@ export declare class AuthsignalDevice {
|
|
|
21
23
|
enableLogging: boolean;
|
|
22
24
|
constructor({ tenantID, baseURL, enableLogging }: ConstructorArgs);
|
|
23
25
|
getCredential(): Promise<AuthsignalResponse<DeviceCredential>>;
|
|
24
|
-
addCredential({ token }?: AddCredentialInput): Promise<AuthsignalResponse<
|
|
26
|
+
addCredential({ token, requireUserAuthentication, keychainAccess, }?: AddCredentialInput): Promise<AuthsignalResponse<DeviceCredential>>;
|
|
25
27
|
removeCredential(): Promise<AuthsignalResponse<boolean>>;
|
|
26
28
|
getChallenge(): Promise<AuthsignalResponse<DeviceChallenge | undefined>>;
|
|
27
29
|
claimChallenge({ challengeId, }: ClaimChallengeInput): Promise<AuthsignalResponse<ClaimChallengeResponse>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/device.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACxB;AAeD,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/device.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACxB;AAeD,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,UAAU,mBAAmB;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,qBAAa,gBAAgB;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;gBAEX,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,eAAe;IAM3D,aAAa,IAAI,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAgB9D,aAAa,CAAC,EAClB,KAAK,EACL,yBAAiC,EACjC,cAAc,GACf,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAuBpE,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAexD,YAAY,IAAI,OAAO,CAC3B,kBAAkB,CAAC,eAAe,GAAG,SAAS,CAAC,CAChD;IAgBK,cAAc,CAAC,EACnB,WAAW,GACZ,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAgBtE,eAAe,CAAC,EACpB,WAAW,EACX,QAAQ,EACR,gBAAuB,GACxB,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAoBxD,MAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;YAgBnD,yBAAyB;CASxC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oBAAY,cAAc;IACxB,gBAAgB,qBAAqB;IACrC,8BAA8B,mCAAmC;IACjE,YAAY,iBAAiB;IAC7B,0BAA0B,+BAA+B;IACzD,6BAA6B,kCAAkC;CAChE"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oBAAY,cAAc;IACxB,gBAAgB,qBAAqB;IACrC,8BAA8B,mCAAmC;IACjE,YAAY,iBAAiB;IAC7B,0BAA0B,+BAA+B;IACzD,6BAA6B,kCAAkC;CAChE"}
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
|
|
|
17
17
|
s.source_files = "ios/**/*.{h,m,mm,swift}"
|
|
18
18
|
|
|
19
19
|
s.dependency "React-Core"
|
|
20
|
-
s.dependency 'Authsignal', '1.2.
|
|
20
|
+
s.dependency 'Authsignal', '1.2.3'
|
|
21
21
|
|
|
22
22
|
# Don't install the dependencies when we run `pod install` in the old architecture.
|
|
23
23
|
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|
package/src/device.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { NativeModules } from 'react-native';
|
|
1
|
+
import { NativeModules, Platform } from 'react-native';
|
|
2
2
|
import { handleErrorCodes, LINKING_ERROR } from './error';
|
|
3
3
|
import type {
|
|
4
4
|
AuthsignalResponse,
|
|
5
5
|
ClaimChallengeResponse,
|
|
6
6
|
DeviceChallenge,
|
|
7
7
|
DeviceCredential,
|
|
8
|
+
KeychainAccess,
|
|
8
9
|
VerifyDeviceResponse,
|
|
9
10
|
} from './types';
|
|
10
11
|
|
|
@@ -29,6 +30,8 @@ const AuthsignalDeviceModule = NativeModules.AuthsignalDeviceModule
|
|
|
29
30
|
|
|
30
31
|
interface AddCredentialInput {
|
|
31
32
|
token?: string;
|
|
33
|
+
requireUserAuthentication?: boolean;
|
|
34
|
+
keychainAccess?: KeychainAccess;
|
|
32
35
|
}
|
|
33
36
|
|
|
34
37
|
interface ClaimChallengeInput {
|
|
@@ -68,13 +71,22 @@ export class AuthsignalDevice {
|
|
|
68
71
|
}
|
|
69
72
|
}
|
|
70
73
|
|
|
71
|
-
async addCredential({
|
|
72
|
-
|
|
73
|
-
|
|
74
|
+
async addCredential({
|
|
75
|
+
token,
|
|
76
|
+
requireUserAuthentication = false,
|
|
77
|
+
keychainAccess,
|
|
78
|
+
}: AddCredentialInput = {}): Promise<AuthsignalResponse<DeviceCredential>> {
|
|
74
79
|
await this.ensureModuleIsInitialized();
|
|
75
80
|
|
|
76
81
|
try {
|
|
77
|
-
const data =
|
|
82
|
+
const data =
|
|
83
|
+
Platform.OS === 'ios'
|
|
84
|
+
? await AuthsignalDeviceModule.addCredential(
|
|
85
|
+
token,
|
|
86
|
+
requireUserAuthentication,
|
|
87
|
+
keychainAccess
|
|
88
|
+
)
|
|
89
|
+
: await AuthsignalDeviceModule.addCredential(token);
|
|
78
90
|
|
|
79
91
|
return { data };
|
|
80
92
|
} catch (ex) {
|