react-native-authsignal 2.12.1 → 2.14.0

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.
Files changed (37) hide show
  1. package/README.md +2 -0
  2. package/android/build.gradle +3 -1
  3. package/android/gradle.properties +1 -1
  4. package/android/src/main/java/com/authsignal/react/AuthsignalPasskeyModule.kt +4 -4
  5. package/android/src/main/java/com/authsignal/react/AuthsignalPushModule.kt +10 -0
  6. package/android/src/main/java/com/authsignal/react/AuthsignalQRCodeModule.kt +10 -0
  7. package/android/src/main/java/com/authsignal/react/JsonConversion.kt +98 -0
  8. package/ios/AuthsignalPasskeyModule.m +2 -0
  9. package/ios/AuthsignalPasskeyModule.swift +10 -6
  10. package/ios/AuthsignalPushModule.swift +4 -2
  11. package/ios/AuthsignalQRModule.swift +2 -0
  12. package/lib/commonjs/NativeAuthsignalPasskeyModule.js.map +1 -1
  13. package/lib/commonjs/passkey.js +6 -4
  14. package/lib/commonjs/passkey.js.map +1 -1
  15. package/lib/commonjs/passkey.web.js +9 -6
  16. package/lib/commonjs/passkey.web.js.map +1 -1
  17. package/lib/commonjs/types.js.map +1 -1
  18. package/lib/module/NativeAuthsignalPasskeyModule.js.map +1 -1
  19. package/lib/module/passkey.js +6 -4
  20. package/lib/module/passkey.js.map +1 -1
  21. package/lib/module/passkey.web.js +9 -6
  22. package/lib/module/passkey.web.js.map +1 -1
  23. package/lib/module/types.js.map +1 -1
  24. package/lib/typescript/NativeAuthsignalPasskeyModule.d.ts +2 -2
  25. package/lib/typescript/NativeAuthsignalPasskeyModule.d.ts.map +1 -1
  26. package/lib/typescript/passkey.d.ts +4 -2
  27. package/lib/typescript/passkey.d.ts.map +1 -1
  28. package/lib/typescript/passkey.web.d.ts +4 -2
  29. package/lib/typescript/passkey.web.d.ts.map +1 -1
  30. package/lib/typescript/types.d.ts +7 -0
  31. package/lib/typescript/types.d.ts.map +1 -1
  32. package/package.json +2 -2
  33. package/react-native-authsignal.podspec +1 -1
  34. package/src/NativeAuthsignalPasskeyModule.ts +4 -2
  35. package/src/passkey.ts +8 -2
  36. package/src/passkey.web.ts +7 -2
  37. package/src/types.ts +8 -0
package/README.md CHANGED
@@ -18,6 +18,8 @@ Then link the native iOS dependencies:
18
18
  npx pod-install ios
19
19
  ```
20
20
 
21
+ For Android apps, use compile SDK 35 and Android Gradle Plugin 8.6.0 or newer.
22
+
21
23
  ## Initialization
22
24
 
23
25
  Initialize the Authsignal client in your code:
@@ -66,5 +66,7 @@ dependencies {
66
66
 
67
67
  implementation "androidx.browser:browser:1.2.0"
68
68
 
69
- implementation("com.authsignal:authsignal-android:3.9.1")
69
+ implementation("com.authsignal:authsignal-android:3.11.0")
70
+
71
+ implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3")
70
72
  }
@@ -1,6 +1,6 @@
1
1
  Authsignal_kotlinVersion=2.1.0
2
2
  Authsignal_minSdkVersion=24
3
3
  Authsignal_targetSdkVersion=34
4
- Authsignal_compileSdkVersion=34
4
+ Authsignal_compileSdkVersion=35
5
5
  Authsignal_ndkversion=26.1.10909125
6
6
  android.useAndroidX=true
@@ -32,9 +32,9 @@ class AuthsignalPasskeyModule(private val reactContext: ReactApplicationContext)
32
32
  }
33
33
 
34
34
  @ReactMethod
35
- override fun signUp(token: String?, username: String?, displayName: String?, ignorePasskeyAlreadyExistsError: Boolean, promise: Promise) {
35
+ override fun signUp(token: String?, username: String?, displayName: String?, ignorePasskeyAlreadyExistsError: Boolean, syncCredentials: Boolean, promise: Promise) {
36
36
  launch(promise) {
37
- val response = it.signUp(token, username, displayName, false, ignorePasskeyAlreadyExistsError)
37
+ val response = it.signUp(token, username, displayName, false, ignorePasskeyAlreadyExistsError, syncCredentials)
38
38
 
39
39
  if (response.error != null) {
40
40
  val errorCode = response.errorCode ?: defaultError
@@ -58,10 +58,11 @@ class AuthsignalPasskeyModule(private val reactContext: ReactApplicationContext)
58
58
  token: String?,
59
59
  _autofill: Boolean,
60
60
  preferImmediatelyAvailableCredentials: Boolean,
61
+ syncCredentials: Boolean,
61
62
  promise: Promise
62
63
  ) {
63
64
  launch(promise) {
64
- val response = it.signIn(action, token, preferImmediatelyAvailableCredentials)
65
+ val response = it.signIn(action, token, preferImmediatelyAvailableCredentials, syncCredentials)
65
66
 
66
67
  if (response.error != null) {
67
68
  val errorCode = response.errorCode ?: defaultError
@@ -83,7 +84,6 @@ class AuthsignalPasskeyModule(private val reactContext: ReactApplicationContext)
83
84
 
84
85
  @ReactMethod
85
86
  override fun cancel() {
86
- // No-op on Android; cancel is only applicable for iOS autofill
87
87
  }
88
88
 
89
89
  @ReactMethod
@@ -120,6 +120,16 @@ class AuthsignalPushModule(private val reactContext: ReactApplicationContext) :
120
120
  map.putString("ipAddress", challenge.ipAddress)
121
121
  map.putString("deviceId", challenge.deviceId)
122
122
  map.putString("userAgent", challenge.userAgent)
123
+ challenge.custom?.let { custom ->
124
+ map.putMap("custom", JsonConversion.toWritableMap(custom))
125
+ }
126
+ challenge.user?.let { user ->
127
+ val userMap = Arguments.createMap()
128
+ user.custom?.let { custom ->
129
+ userMap.putMap("custom", JsonConversion.toWritableMap(custom))
130
+ }
131
+ map.putMap("user", userMap)
132
+ }
123
133
  promise.resolve(map)
124
134
  }
125
135
  }
@@ -115,6 +115,16 @@ class AuthsignalQRCodeModule(private val reactContext: ReactApplicationContext)
115
115
  data.ipAddress?.let { map.putString("ipAddress", it) }
116
116
  data.actionCode?.let { map.putString("actionCode", it) }
117
117
  data.idempotencyKey?.let { map.putString("idempotencyKey", it) }
118
+ data.custom?.let { custom ->
119
+ map.putMap("custom", JsonConversion.toWritableMap(custom))
120
+ }
121
+ data.user?.let { user ->
122
+ val userMap = Arguments.createMap()
123
+ user.custom?.let { custom ->
124
+ userMap.putMap("custom", JsonConversion.toWritableMap(custom))
125
+ }
126
+ map.putMap("user", userMap)
127
+ }
118
128
  promise.resolve(map)
119
129
  }
120
130
  }
@@ -0,0 +1,98 @@
1
+ package com.authsignal.react
2
+
3
+ import com.facebook.react.bridge.Arguments
4
+ import com.facebook.react.bridge.WritableArray
5
+ import com.facebook.react.bridge.WritableMap
6
+ import kotlinx.serialization.json.JsonArray
7
+ import kotlinx.serialization.json.JsonNull
8
+ import kotlinx.serialization.json.JsonObject
9
+ import kotlinx.serialization.json.JsonPrimitive
10
+ import kotlinx.serialization.json.booleanOrNull
11
+ import kotlinx.serialization.json.doubleOrNull
12
+ import kotlinx.serialization.json.longOrNull
13
+
14
+ internal object JsonConversion {
15
+ fun toWritableMap(json: JsonObject): WritableMap {
16
+ val map = Arguments.createMap()
17
+
18
+ json.forEach { (key, value) ->
19
+ when (value) {
20
+ is JsonNull -> map.putNull(key)
21
+ is JsonPrimitive -> putPrimitive(map, key, value)
22
+ is JsonObject -> map.putMap(key, toWritableMap(value))
23
+ is JsonArray -> map.putArray(key, toWritableArray(value))
24
+ }
25
+ }
26
+
27
+ return map
28
+ }
29
+
30
+ private fun toWritableArray(json: JsonArray): WritableArray {
31
+ val array = Arguments.createArray()
32
+
33
+ json.forEach { value ->
34
+ when (value) {
35
+ is JsonNull -> array.pushNull()
36
+ is JsonPrimitive -> pushPrimitive(array, value)
37
+ is JsonObject -> array.pushMap(toWritableMap(value))
38
+ is JsonArray -> array.pushArray(toWritableArray(value))
39
+ }
40
+ }
41
+
42
+ return array
43
+ }
44
+
45
+ private fun putPrimitive(map: WritableMap, key: String, primitive: JsonPrimitive) {
46
+ if (primitive.isString) {
47
+ map.putString(key, primitive.content)
48
+ return
49
+ }
50
+
51
+ val boolean = primitive.booleanOrNull
52
+ if (boolean != null) {
53
+ map.putBoolean(key, boolean)
54
+ return
55
+ }
56
+
57
+ val long = primitive.longOrNull
58
+ if (long != null) {
59
+ map.putDouble(key, long.toDouble())
60
+ return
61
+ }
62
+
63
+ val double = primitive.doubleOrNull
64
+ if (double != null) {
65
+ map.putDouble(key, double)
66
+ return
67
+ }
68
+
69
+ map.putString(key, primitive.content)
70
+ }
71
+
72
+ private fun pushPrimitive(array: WritableArray, primitive: JsonPrimitive) {
73
+ if (primitive.isString) {
74
+ array.pushString(primitive.content)
75
+ return
76
+ }
77
+
78
+ val boolean = primitive.booleanOrNull
79
+ if (boolean != null) {
80
+ array.pushBoolean(boolean)
81
+ return
82
+ }
83
+
84
+ val long = primitive.longOrNull
85
+ if (long != null) {
86
+ array.pushDouble(long.toDouble())
87
+ return
88
+ }
89
+
90
+ val double = primitive.doubleOrNull
91
+ if (double != null) {
92
+ array.pushDouble(double)
93
+ return
94
+ }
95
+
96
+ array.pushString(primitive.content)
97
+ }
98
+ }
@@ -13,6 +13,7 @@ RCT_EXTERN_METHOD(signUp:(NSString)token
13
13
  withUsername:(NSString)username
14
14
  withDisplayName:(NSString)displayName
15
15
  withIgnorePasskeyAlreadyExistsError:(BOOL)ignorePasskeyAlreadyExistsError
16
+ withSyncCredentials:(BOOL)syncCredentials
16
17
  resolve:(RCTPromiseResolveBlock)resolve
17
18
  reject:(RCTPromiseRejectBlock)reject)
18
19
 
@@ -20,6 +21,7 @@ RCT_EXTERN_METHOD(signIn:(NSString)action
20
21
  withToken:(NSString)token
21
22
  withAutofill:(BOOL)autofill
22
23
  withPreferImmediatelyAvailableCredentials:(BOOL)preferImmediatelyAvailableCredentials
24
+ withSyncCredentials:(BOOL)syncCredentials
23
25
  resolve:(RCTPromiseResolveBlock)resolve
24
26
  reject:(RCTPromiseRejectBlock)reject)
25
27
 
@@ -29,6 +29,7 @@ class AuthsignalPasskeyModule: NSObject {
29
29
  withUsername username: NSString?,
30
30
  withDisplayName displayName: NSString?,
31
31
  withIgnorePasskeyAlreadyExistsError ignorePasskeyAlreadyExistsError: Bool,
32
+ withSyncCredentials syncCredentials: Bool,
32
33
  resolve: @escaping RCTPromiseResolveBlock,
33
34
  reject: @escaping RCTPromiseRejectBlock
34
35
  ) -> Void {
@@ -36,17 +37,18 @@ class AuthsignalPasskeyModule: NSObject {
36
37
  resolve(nil)
37
38
  return
38
39
  }
39
-
40
+
40
41
  let tokenStr = token as String?
41
42
  let usernameStr = username as String?
42
43
  let displayNameStr = displayName as String?
43
-
44
+
44
45
  Task.init {
45
46
  let response = await authsignal!.signUp(
46
47
  token: tokenStr,
47
48
  username: usernameStr,
48
49
  displayName: displayNameStr,
49
- ignorePasskeyAlreadyExistsError: ignorePasskeyAlreadyExistsError
50
+ ignorePasskeyAlreadyExistsError: ignorePasskeyAlreadyExistsError,
51
+ syncCredentials: syncCredentials
50
52
  )
51
53
 
52
54
  if (response.error != nil) {
@@ -66,6 +68,7 @@ class AuthsignalPasskeyModule: NSObject {
66
68
  withToken token: NSString?,
67
69
  withAutofill autofill: Bool,
68
70
  withPreferImmediatelyAvailableCredentials preferImmediatelyAvailableCredentials: Bool,
71
+ withSyncCredentials syncCredentials: Bool,
69
72
  resolve: @escaping RCTPromiseResolveBlock,
70
73
  reject: @escaping RCTPromiseRejectBlock
71
74
  ) -> Void {
@@ -73,16 +76,17 @@ class AuthsignalPasskeyModule: NSObject {
73
76
  resolve(nil)
74
77
  return
75
78
  }
76
-
79
+
77
80
  let actionStr = action as String?
78
81
  let tokenStr = token as String?
79
-
82
+
80
83
  Task.init {
81
84
  let response = await authsignal!.signIn(
82
85
  token: tokenStr,
83
86
  action: actionStr,
84
87
  autofill: autofill,
85
- preferImmediatelyAvailableCredentials: preferImmediatelyAvailableCredentials
88
+ preferImmediatelyAvailableCredentials: preferImmediatelyAvailableCredentials,
89
+ syncCredentials: syncCredentials
86
90
  )
87
91
 
88
92
  if (response.error != nil) {
@@ -130,15 +130,17 @@ class AuthsignalPushModule: NSObject {
130
130
  if let error = response.error {
131
131
  reject(response.errorCode ?? "unexpected_error", error, nil)
132
132
  } else if let data = response.data as? AppChallenge {
133
- let challenge: [String: String?] = [
133
+ let challenge: [String: Any?] = [
134
134
  "challengeId": data.challengeId,
135
135
  "actionCode": data.actionCode,
136
136
  "idempotencyKey": data.idempotencyKey,
137
137
  "userAgent": data.userAgent,
138
138
  "deviceId": data.deviceId,
139
139
  "ipAddress": data.ipAddress,
140
+ "custom": data.custom?.mapValues { $0.value },
141
+ "user": data.user.map { user in ["custom": user.custom?.mapValues { $0.value }] },
140
142
  ]
141
-
143
+
142
144
  resolve(challenge)
143
145
  } else {
144
146
  resolve(nil)
@@ -138,6 +138,8 @@ class AuthsignalQRCodeModule: NSObject {
138
138
  "ipAddress": data.ipAddress,
139
139
  "actionCode": data.actionCode,
140
140
  "idempotencyKey": data.idempotencyKey,
141
+ "custom": data.custom?.mapValues { $0.value },
142
+ "user": data.user.map { user in ["custom": user.custom?.mapValues { $0.value }] },
141
143
  ]
142
144
 
143
145
  resolve(result)
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeAuthsignalPasskeyModule.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAqE,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAyBtDC,gCAAmB,CAACC,GAAG,CAAO,yBAAyB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_default","exports","default","TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeAuthsignalPasskeyModule.ts"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAAqE,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GA2BtDC,gCAAmB,CAACC,GAAG,CAAO,yBAAyB,CAAC","ignoreList":[]}
@@ -28,11 +28,12 @@ class AuthsignalPasskey {
28
28
  token,
29
29
  username,
30
30
  displayName,
31
- ignorePasskeyAlreadyExistsError = false
31
+ ignorePasskeyAlreadyExistsError = false,
32
+ syncCredentials = false
32
33
  } = {}) {
33
34
  await this.ensureModuleIsInitialized();
34
35
  try {
35
- const data = await AuthsignalPasskeyModule.signUp(token ?? null, username ?? null, displayName ?? null, ignorePasskeyAlreadyExistsError);
36
+ const data = await AuthsignalPasskeyModule.signUp(token ?? null, username ?? null, displayName ?? null, ignorePasskeyAlreadyExistsError, syncCredentials);
36
37
  return {
37
38
  data
38
39
  };
@@ -47,7 +48,8 @@ class AuthsignalPasskey {
47
48
  action,
48
49
  token,
49
50
  autofill = false,
50
- preferImmediatelyAvailableCredentials = true
51
+ preferImmediatelyAvailableCredentials = true,
52
+ syncCredentials = false
51
53
  } = {}) {
52
54
  await this.ensureModuleIsInitialized();
53
55
  try {
@@ -58,7 +60,7 @@ class AuthsignalPasskey {
58
60
  this.autofillRequestPending = true;
59
61
  }
60
62
  }
61
- const data = await AuthsignalPasskeyModule.signIn(action ?? null, token ?? null, autofill, preferImmediatelyAvailableCredentials);
63
+ const data = await AuthsignalPasskeyModule.signIn(action ?? null, token ?? null, autofill, preferImmediatelyAvailableCredentials, syncCredentials);
62
64
  this.autofillRequestPending = false;
63
65
  return {
64
66
  data
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_error","_getNativeModule","_NativeAuthsignalPasskeyModule","_interopRequireDefault","e","__esModule","default","AuthsignalPasskeyModule","getNativeModule","NativeAuthsignalPasskeyModule","AuthsignalPasskey","initialized","autofillRequestPending","constructor","tenantID","baseURL","deviceID","enableLogging","signUp","token","username","displayName","ignorePasskeyAlreadyExistsError","ensureModuleIsInitialized","data","ex","console","log","handleErrorCodes","signIn","action","autofill","preferImmediatelyAvailableCredentials","cancel","isSupported","Platform","OS","Version","parseInt","shouldPromptToCreatePasskey","isAvailableOnDevice","initialize","exports"],"sourceRoot":"../../src","sources":["passkey.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_error","_getNativeModule","_NativeAuthsignalPasskeyModule","_interopRequireDefault","e","__esModule","default","AuthsignalPasskeyModule","getNativeModule","NativeAuthsignalPasskeyModule","AuthsignalPasskey","initialized","autofillRequestPending","constructor","tenantID","baseURL","deviceID","enableLogging","signUp","token","username","displayName","ignorePasskeyAlreadyExistsError","syncCredentials","ensureModuleIsInitialized","data","ex","console","log","handleErrorCodes","signIn","action","autofill","preferImmediatelyAvailableCredentials","cancel","isSupported","Platform","OS","Version","parseInt","shouldPromptToCreatePasskey","isAvailableOnDevice","initialize","exports"],"sourceRoot":"../../src","sources":["passkey.ts"],"mappings":"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","ignoreList":[]}
@@ -22,14 +22,16 @@ class AuthsignalPasskey {
22
22
  token,
23
23
  username,
24
24
  displayName,
25
- ignorePasskeyAlreadyExistsError = false
25
+ ignorePasskeyAlreadyExistsError = false,
26
+ syncCredentials = false
26
27
  } = {}) {
27
28
  try {
28
29
  const client = this.getClient();
29
30
  const result = await client.passkey.signUp({
30
31
  token,
31
32
  username,
32
- displayName
33
+ displayName,
34
+ syncCredentials
33
35
  });
34
36
  if (result.errorCode) {
35
37
  return {
@@ -52,14 +54,16 @@ class AuthsignalPasskey {
52
54
  async signIn({
53
55
  action,
54
56
  token,
55
- autofill = false
57
+ autofill = false,
58
+ syncCredentials = false
56
59
  } = {}) {
57
60
  try {
58
61
  const client = this.getClient();
59
62
  const result = await client.passkey.signIn({
60
63
  action,
61
64
  token,
62
- autofill
65
+ autofill,
66
+ syncCredentials
63
67
  });
64
68
  if (result.errorCode) {
65
69
  return {
@@ -82,8 +86,7 @@ class AuthsignalPasskey {
82
86
  }
83
87
  }
84
88
  cancel() {
85
- // On web, passkey operations are managed by the browser
86
- // and cannot be programmatically cancelled
89
+ return;
87
90
  }
88
91
  isSupported() {
89
92
  return typeof window !== 'undefined' && typeof window.PublicKeyCredential !== 'undefined';
@@ -1 +1 @@
1
- {"version":3,"names":["_webClient","require","_error","AuthsignalPasskey","constructor","tenantID","baseURL","deviceID","enableLogging","signUp","token","username","displayName","ignorePasskeyAlreadyExistsError","client","getClient","result","passkey","errorCode","error","errorDescription","data","undefined","ex","name","handleWebAuthnError","signIn","action","autofill","isVerified","userId","userAuthenticatorId","cancel","isSupported","window","PublicKeyCredential","getOrCreateWebClient","console","log","message","handleErrorCodes","exports"],"sourceRoot":"../../src","sources":["passkey.web.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_webClient","require","_error","AuthsignalPasskey","constructor","tenantID","baseURL","deviceID","enableLogging","signUp","token","username","displayName","ignorePasskeyAlreadyExistsError","syncCredentials","client","getClient","result","passkey","errorCode","error","errorDescription","data","undefined","ex","name","handleWebAuthnError","signIn","action","autofill","isVerified","userId","userAuthenticatorId","cancel","isSupported","window","PublicKeyCredential","getOrCreateWebClient","console","log","message","handleErrorCodes","exports"],"sourceRoot":"../../src","sources":["passkey.web.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["KeychainAccess","exports","UserActionState"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;;;;;IA2IYA,cAAc,GAAAC,OAAA,CAAAD,cAAA;AAAA,WAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;AAAA,GAAdA,cAAc,KAAAC,OAAA,CAAAD,cAAA,GAAdA,cAAc;AAAA,IAQdE,eAAe,GAAAD,OAAA,CAAAC,eAAA;AAAA,WAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;AAAA,GAAfA,eAAe,KAAAD,OAAA,CAAAC,eAAA,GAAfA,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["KeychainAccess","exports","UserActionState"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;;;;;IAmJYA,cAAc,GAAAC,OAAA,CAAAD,cAAA;AAAA,WAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;AAAA,GAAdA,cAAc,KAAAC,OAAA,CAAAD,cAAA,GAAdA,cAAc;AAAA,IAQdE,eAAe,GAAAD,OAAA,CAAAC,eAAA;AAAA,WAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;AAAA,GAAfA,eAAe,KAAAD,OAAA,CAAAC,eAAA,GAAfA,eAAe","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeAuthsignalPasskeyModule.ts"],"mappings":"AAAA,SAASA,mBAAmB,QAA0B,cAAc;AAyBpE,eAAeA,mBAAmB,CAACC,GAAG,CAAO,yBAAyB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeAuthsignalPasskeyModule.ts"],"mappings":"AAAA,SAASA,mBAAmB,QAA0B,cAAc;AA2BpE,eAAeA,mBAAmB,CAACC,GAAG,CAAO,yBAAyB,CAAC","ignoreList":[]}
@@ -21,11 +21,12 @@ export class AuthsignalPasskey {
21
21
  token,
22
22
  username,
23
23
  displayName,
24
- ignorePasskeyAlreadyExistsError = false
24
+ ignorePasskeyAlreadyExistsError = false,
25
+ syncCredentials = false
25
26
  } = {}) {
26
27
  await this.ensureModuleIsInitialized();
27
28
  try {
28
- const data = await AuthsignalPasskeyModule.signUp(token ?? null, username ?? null, displayName ?? null, ignorePasskeyAlreadyExistsError);
29
+ const data = await AuthsignalPasskeyModule.signUp(token ?? null, username ?? null, displayName ?? null, ignorePasskeyAlreadyExistsError, syncCredentials);
29
30
  return {
30
31
  data
31
32
  };
@@ -40,7 +41,8 @@ export class AuthsignalPasskey {
40
41
  action,
41
42
  token,
42
43
  autofill = false,
43
- preferImmediatelyAvailableCredentials = true
44
+ preferImmediatelyAvailableCredentials = true,
45
+ syncCredentials = false
44
46
  } = {}) {
45
47
  await this.ensureModuleIsInitialized();
46
48
  try {
@@ -51,7 +53,7 @@ export class AuthsignalPasskey {
51
53
  this.autofillRequestPending = true;
52
54
  }
53
55
  }
54
- const data = await AuthsignalPasskeyModule.signIn(action ?? null, token ?? null, autofill, preferImmediatelyAvailableCredentials);
56
+ const data = await AuthsignalPasskeyModule.signIn(action ?? null, token ?? null, autofill, preferImmediatelyAvailableCredentials, syncCredentials);
55
57
  this.autofillRequestPending = false;
56
58
  return {
57
59
  data
@@ -1 +1 @@
1
- {"version":3,"names":["Platform","handleErrorCodes","getNativeModule","NativeAuthsignalPasskeyModule","AuthsignalPasskeyModule","AuthsignalPasskey","initialized","autofillRequestPending","constructor","tenantID","baseURL","deviceID","enableLogging","signUp","token","username","displayName","ignorePasskeyAlreadyExistsError","ensureModuleIsInitialized","data","ex","console","log","signIn","action","autofill","preferImmediatelyAvailableCredentials","cancel","isSupported","OS","Version","parseInt","shouldPromptToCreatePasskey","isAvailableOnDevice","initialize"],"sourceRoot":"../../src","sources":["passkey.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Platform","handleErrorCodes","getNativeModule","NativeAuthsignalPasskeyModule","AuthsignalPasskeyModule","AuthsignalPasskey","initialized","autofillRequestPending","constructor","tenantID","baseURL","deviceID","enableLogging","signUp","token","username","displayName","ignorePasskeyAlreadyExistsError","syncCredentials","ensureModuleIsInitialized","data","ex","console","log","signIn","action","autofill","preferImmediatelyAvailableCredentials","cancel","isSupported","OS","Version","parseInt","shouldPromptToCreatePasskey","isAvailableOnDevice","initialize"],"sourceRoot":"../../src","sources":["passkey.ts"],"mappings":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,gBAAgB,QAAQ,SAAS;AAC1C,SAASC,eAAe,QAAQ,mBAAmB;AACnD,OAAOC,6BAA6B,MAE7B,iCAAiC;AA8BxC,MAAMC,uBAAuB,GAAGF,eAAe,CAC7C,yBAAyB,EACzBC,6BACF,CAAC;AAED,OAAO,MAAME,iBAAiB,CAAC;EAKrBC,WAAW,GAAG,KAAK;EACnBC,sBAAsB,GAAG,KAAK;EAEtCC,WAAWA,CAAC;IAAEC,QAAQ;IAAEC,OAAO;IAAEC,QAAQ;IAAEC;EAA+B,CAAC,EAAE;IAC3E,IAAI,CAACH,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,aAAa,GAAGA,aAAa;EACpC;EAEA,MAAMC,MAAMA,CAAC;IACXC,KAAK;IACLC,QAAQ;IACRC,WAAW;IACXC,+BAA+B,GAAG,KAAK;IACvCC,eAAe,GAAG;EACA,CAAC,GAAG,CAAC,CAAC,EAA+C;IACvE,MAAM,IAAI,CAACC,yBAAyB,CAAC,CAAC;IAEtC,IAAI;MACF,MAAMC,IAAI,GAAI,MAAMhB,uBAAuB,CAACS,MAAM,CAChDC,KAAK,IAAI,IAAI,EACbC,QAAQ,IAAI,IAAI,EAChBC,WAAW,IAAI,IAAI,EACnBC,+BAA+B,EAC/BC,eACF,CAAoB;MAEpB,OAAO;QAAEE;MAAK,CAAC;IACjB,CAAC,CAAC,OAAOC,EAAE,EAAE;MACX,IAAI,IAAI,CAACT,aAAa,EAAE;QACtBU,OAAO,CAACC,GAAG,CAACF,EAAE,CAAC;MACjB;MAEA,OAAOpB,gBAAgB,CAACoB,EAAE,CAAC;IAC7B;EACF;EAEA,MAAMG,MAAMA,CAAC;IACXC,MAAM;IACNX,KAAK;IACLY,QAAQ,GAAG,KAAK;IAChBC,qCAAqC,GAAG,IAAI;IAC5CT,eAAe,GAAG;EACA,CAAC,GAAG,CAAC,CAAC,EAA+C;IACvE,MAAM,IAAI,CAACC,yBAAyB,CAAC,CAAC;IAEtC,IAAI;MACF,IAAIO,QAAQ,EAAE;QACZ,IAAI,IAAI,CAACnB,sBAAsB,EAAE;UAC/B,OAAO,CAAC,CAAC;QACX,CAAC,MAAM;UACL,IAAI,CAACA,sBAAsB,GAAG,IAAI;QACpC;MACF;MAEA,MAAMa,IAAI,GAAI,MAAMhB,uBAAuB,CAACoB,MAAM,CAChDC,MAAM,IAAI,IAAI,EACdX,KAAK,IAAI,IAAI,EACbY,QAAQ,EACRC,qCAAqC,EACrCT,eACF,CAAoB;MAEpB,IAAI,CAACX,sBAAsB,GAAG,KAAK;MAEnC,OAAO;QAAEa;MAAK,CAAC;IACjB,CAAC,CAAC,OAAOC,EAAE,EAAE;MACX,IAAI,IAAI,CAACT,aAAa,IAAI,CAACc,QAAQ,EAAE;QACnCJ,OAAO,CAACC,GAAG,CAACF,EAAE,CAAC;MACjB;MAEA,IAAI,CAACd,sBAAsB,GAAG,KAAK;MAEnC,OAAON,gBAAgB,CAACoB,EAAE,CAAC;IAC7B;EACF;EAEAO,MAAMA,CAAA,EAAG;IACP,IAAI,CAACrB,sBAAsB,GAAG,KAAK;IACnCH,uBAAuB,CAACwB,MAAM,CAAC,CAAC;EAClC;EAEAC,WAAWA,CAAA,EAAY;IACrB,IAAI7B,QAAQ,CAAC8B,EAAE,KAAK,SAAS,EAAE;MAC7B,OAAO9B,QAAQ,CAAC+B,OAAO,IAAI,EAAE;IAC/B,CAAC,MAAM,IAAI/B,QAAQ,CAAC8B,EAAE,KAAK,KAAK,EAAE;MAChC,OAAOE,QAAQ,CAAChC,QAAQ,CAAC+B,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE;IAC7C,CAAC,MAAM;MACL,OAAO,KAAK;IACd;EACF;EAEA,MAAME,2BAA2BA,CAAC;IAChClB;EACqB,CAAC,GAAG,CAAC,CAAC,EAAoB;IAC/C,MAAM,IAAI,CAACI,yBAAyB,CAAC,CAAC;IAEtC,OAAO,MAAMf,uBAAuB,CAAC6B,2BAA2B,CAC9DlB,QAAQ,IAAI,IACd,CAAC;EACH;;EAEA;AACF;AACA;EACE,MAAMmB,mBAAmBA,CAAA,EAAqB;IAC5C,MAAM,IAAI,CAACf,yBAAyB,CAAC,CAAC;IAEtC,OAAO,MAAMf,uBAAuB,CAAC8B,mBAAmB,CAAC,CAAC;EAC5D;EAEA,MAAcf,yBAAyBA,CAAA,EAAG;IACxC,IAAI,IAAI,CAACb,WAAW,EAAE;MACpB;IACF;IAEA,MAAMF,uBAAuB,CAAC+B,UAAU,CACtC,IAAI,CAAC1B,QAAQ,EACb,IAAI,CAACC,OAAO,EACZ,IAAI,CAACC,QAAQ,IAAI,IACnB,CAAC;IAED,IAAI,CAACL,WAAW,GAAG,IAAI;EACzB;AACF","ignoreList":[]}
@@ -16,14 +16,16 @@ export class AuthsignalPasskey {
16
16
  token,
17
17
  username,
18
18
  displayName,
19
- ignorePasskeyAlreadyExistsError = false
19
+ ignorePasskeyAlreadyExistsError = false,
20
+ syncCredentials = false
20
21
  } = {}) {
21
22
  try {
22
23
  const client = this.getClient();
23
24
  const result = await client.passkey.signUp({
24
25
  token,
25
26
  username,
26
- displayName
27
+ displayName,
28
+ syncCredentials
27
29
  });
28
30
  if (result.errorCode) {
29
31
  return {
@@ -46,14 +48,16 @@ export class AuthsignalPasskey {
46
48
  async signIn({
47
49
  action,
48
50
  token,
49
- autofill = false
51
+ autofill = false,
52
+ syncCredentials = false
50
53
  } = {}) {
51
54
  try {
52
55
  const client = this.getClient();
53
56
  const result = await client.passkey.signIn({
54
57
  action,
55
58
  token,
56
- autofill
59
+ autofill,
60
+ syncCredentials
57
61
  });
58
62
  if (result.errorCode) {
59
63
  return {
@@ -76,8 +80,7 @@ export class AuthsignalPasskey {
76
80
  }
77
81
  }
78
82
  cancel() {
79
- // On web, passkey operations are managed by the browser
80
- // and cannot be programmatically cancelled
83
+ return;
81
84
  }
82
85
  isSupported() {
83
86
  return typeof window !== 'undefined' && typeof window.PublicKeyCredential !== 'undefined';
@@ -1 +1 @@
1
- {"version":3,"names":["getOrCreateWebClient","handleErrorCodes","AuthsignalPasskey","constructor","tenantID","baseURL","deviceID","enableLogging","signUp","token","username","displayName","ignorePasskeyAlreadyExistsError","client","getClient","result","passkey","errorCode","error","errorDescription","data","undefined","ex","name","handleWebAuthnError","signIn","action","autofill","isVerified","userId","userAuthenticatorId","cancel","isSupported","window","PublicKeyCredential","console","log","message"],"sourceRoot":"../../src","sources":["passkey.web.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["getOrCreateWebClient","handleErrorCodes","AuthsignalPasskey","constructor","tenantID","baseURL","deviceID","enableLogging","signUp","token","username","displayName","ignorePasskeyAlreadyExistsError","syncCredentials","client","getClient","result","passkey","errorCode","error","errorDescription","data","undefined","ex","name","handleWebAuthnError","signIn","action","autofill","isVerified","userId","userAuthenticatorId","cancel","isSupported","window","PublicKeyCredential","console","log","message"],"sourceRoot":"../../src","sources":["passkey.web.ts"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["KeychainAccess","UserActionState"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":"AA2IA,WAAYA,cAAc;AAMzB,WANWA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;AAAA,GAAdA,cAAc,KAAdA,cAAc;AAQ1B,WAAYC,eAAe;AAS1B,WATWA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;AAAA,GAAfA,eAAe,KAAfA,eAAe","ignoreList":[]}
1
+ {"version":3,"names":["KeychainAccess","UserActionState"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":"AAmJA,WAAYA,cAAc;AAMzB,WANWA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;AAAA,GAAdA,cAAc,KAAdA,cAAc;AAQ1B,WAAYC,eAAe;AAS1B,WATWA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;EAAfA,eAAe;AAAA,GAAfA,eAAe,KAAfA,eAAe","ignoreList":[]}
@@ -1,8 +1,8 @@
1
1
  import { type TurboModule } from 'react-native';
2
2
  export interface Spec extends TurboModule {
3
3
  initialize(tenantID: string, withBaseURL: string, withDeviceID: string | null): Promise<void>;
4
- signUp(token: string | null, withUsername: string | null, withDisplayName: string | null, withIgnorePasskeyAlreadyExistsError: boolean): Promise<Object | null>;
5
- signIn(action: string | null, withToken: string | null, withAutofill: boolean, withPreferImmediatelyAvailableCredentials: boolean): Promise<Object | null>;
4
+ signUp(token: string | null, withUsername: string | null, withDisplayName: string | null, withIgnorePasskeyAlreadyExistsError: boolean, withSyncCredentials: boolean): Promise<Object | null>;
5
+ signIn(action: string | null, withToken: string | null, withAutofill: boolean, withPreferImmediatelyAvailableCredentials: boolean, withSyncCredentials: boolean): Promise<Object | null>;
6
6
  shouldPromptToCreatePasskey(username: string | null): Promise<boolean>;
7
7
  isAvailableOnDevice(): Promise<boolean>;
8
8
  cancel(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeAuthsignalPasskeyModule.d.ts","sourceRoot":"","sources":["../../src/NativeAuthsignalPasskeyModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAErE,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,UAAU,CACR,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GAAG,IAAI,GAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,MAAM,CACJ,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,EAC9B,mCAAmC,EAAE,OAAO,GAC3C,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1B,MAAM,CACJ,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,YAAY,EAAE,OAAO,EACrB,yCAAyC,EAAE,OAAO,GACjD,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1B,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvE,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,IAAI,IAAI,CAAC;CAChB;;AAED,wBAAwE"}
1
+ {"version":3,"file":"NativeAuthsignalPasskeyModule.d.ts","sourceRoot":"","sources":["../../src/NativeAuthsignalPasskeyModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,KAAK,WAAW,EAAE,MAAM,cAAc,CAAC;AAErE,MAAM,WAAW,IAAK,SAAQ,WAAW;IACvC,UAAU,CACR,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,GAAG,IAAI,GAC1B,OAAO,CAAC,IAAI,CAAC,CAAC;IACjB,MAAM,CACJ,KAAK,EAAE,MAAM,GAAG,IAAI,EACpB,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,eAAe,EAAE,MAAM,GAAG,IAAI,EAC9B,mCAAmC,EAAE,OAAO,EAC5C,mBAAmB,EAAE,OAAO,GAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1B,MAAM,CACJ,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,YAAY,EAAE,OAAO,EACrB,yCAAyC,EAAE,OAAO,EAClD,mBAAmB,EAAE,OAAO,GAC3B,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC1B,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACvE,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,MAAM,IAAI,IAAI,CAAC;CAChB;;AAED,wBAAwE"}
@@ -10,12 +10,14 @@ interface PasskeySignUpInput {
10
10
  username?: string;
11
11
  displayName?: string;
12
12
  ignorePasskeyAlreadyExistsError?: boolean;
13
+ syncCredentials?: boolean;
13
14
  }
14
15
  interface PasskeySignInInput {
15
16
  action?: string;
16
17
  token?: string;
17
18
  autofill?: boolean;
18
19
  preferImmediatelyAvailableCredentials?: boolean;
20
+ syncCredentials?: boolean;
19
21
  }
20
22
  export declare class AuthsignalPasskey {
21
23
  tenantID: string;
@@ -25,8 +27,8 @@ export declare class AuthsignalPasskey {
25
27
  private initialized;
26
28
  private autofillRequestPending;
27
29
  constructor({ tenantID, baseURL, deviceID, enableLogging }: ConstructorArgs);
28
- signUp({ token, username, displayName, ignorePasskeyAlreadyExistsError, }?: PasskeySignUpInput): Promise<AuthsignalResponse<SignUpResponse>>;
29
- signIn({ action, token, autofill, preferImmediatelyAvailableCredentials, }?: PasskeySignInInput): Promise<AuthsignalResponse<SignInResponse>>;
30
+ signUp({ token, username, displayName, ignorePasskeyAlreadyExistsError, syncCredentials, }?: PasskeySignUpInput): Promise<AuthsignalResponse<SignUpResponse>>;
31
+ signIn({ action, token, autofill, preferImmediatelyAvailableCredentials, syncCredentials, }?: PasskeySignInInput): Promise<AuthsignalResponse<SignInResponse>>;
30
32
  cancel(): void;
31
33
  isSupported(): boolean;
32
34
  shouldPromptToCreatePasskey({ username, }?: {
@@ -1 +1 @@
1
- {"version":3,"file":"passkey.d.ts","sourceRoot":"","sources":["../../src/passkey.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B,CAAC,EAAE,OAAO,CAAC;CAC3C;AAED,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qCAAqC,CAAC,EAAE,OAAO,CAAC;CACjD;AAOD,qBAAa,iBAAiB;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,sBAAsB,CAAS;gBAE3B,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,eAAe;IAOrE,MAAM,CAAC,EACX,KAAK,EACL,QAAQ,EACR,WAAW,EACX,+BAAuC,GACxC,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAqBlE,MAAM,CAAC,EACX,MAAM,EACN,KAAK,EACL,QAAgB,EAChB,qCAA4C,GAC7C,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAiCxE,MAAM;IAKN,WAAW,IAAI,OAAO;IAUhB,2BAA2B,CAAC,EAChC,QAAQ,GACT,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAQhD;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;YAM/B,yBAAyB;CAaxC"}
1
+ {"version":3,"file":"passkey.d.ts","sourceRoot":"","sources":["../../src/passkey.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qCAAqC,CAAC,EAAE,OAAO,CAAC;IAChD,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAOD,qBAAa,iBAAiB;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,sBAAsB,CAAS;gBAE3B,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,eAAe;IAOrE,MAAM,CAAC,EACX,KAAK,EACL,QAAQ,EACR,WAAW,EACX,+BAAuC,EACvC,eAAuB,GACxB,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAsBlE,MAAM,CAAC,EACX,MAAM,EACN,KAAK,EACL,QAAgB,EAChB,qCAA4C,EAC5C,eAAuB,GACxB,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAkCxE,MAAM;IAKN,WAAW,IAAI,OAAO;IAUhB,2BAA2B,CAAC,EAChC,QAAQ,GACT,GAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAQhD;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,OAAO,CAAC;YAM/B,yBAAyB;CAaxC"}
@@ -10,11 +10,13 @@ interface PasskeySignUpInput {
10
10
  username?: string;
11
11
  displayName?: string;
12
12
  ignorePasskeyAlreadyExistsError?: boolean;
13
+ syncCredentials?: boolean;
13
14
  }
14
15
  interface PasskeySignInInput {
15
16
  action?: string;
16
17
  token?: string;
17
18
  autofill?: boolean;
19
+ syncCredentials?: boolean;
18
20
  }
19
21
  export declare class AuthsignalPasskey {
20
22
  tenantID: string;
@@ -22,8 +24,8 @@ export declare class AuthsignalPasskey {
22
24
  deviceID?: string;
23
25
  enableLogging: boolean;
24
26
  constructor({ tenantID, baseURL, deviceID, enableLogging }: ConstructorArgs);
25
- signUp({ token, username, displayName, ignorePasskeyAlreadyExistsError, }?: PasskeySignUpInput): Promise<AuthsignalResponse<SignUpResponse>>;
26
- signIn({ action, token, autofill, }?: PasskeySignInInput): Promise<AuthsignalResponse<SignInResponse>>;
27
+ signUp({ token, username, displayName, ignorePasskeyAlreadyExistsError, syncCredentials, }?: PasskeySignUpInput): Promise<AuthsignalResponse<SignUpResponse>>;
28
+ signIn({ action, token, autofill, syncCredentials, }?: PasskeySignInInput): Promise<AuthsignalResponse<SignInResponse>>;
27
29
  cancel(): void;
28
30
  isSupported(): boolean;
29
31
  private getClient;
@@ -1 +1 @@
1
- {"version":3,"file":"passkey.web.d.ts","sourceRoot":"","sources":["../../src/passkey.web.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B,CAAC,EAAE,OAAO,CAAC;CAC3C;AAED,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,qBAAa,iBAAiB;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;gBAEX,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,eAAe;IAOrE,MAAM,CAAC,EACX,KAAK,EACL,QAAQ,EACR,WAAW,EACX,+BAAuC,GACxC,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IA4BlE,MAAM,CAAC,EACX,MAAM,EACN,KAAK,EACL,QAAgB,GACjB,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAiCxE,MAAM;IAKN,WAAW,IAAI,OAAO;IAOtB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,mBAAmB;CAqB5B"}
1
+ {"version":3,"file":"passkey.web.d.ts","sourceRoot":"","sources":["../../src/passkey.web.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B,CAAC,EAAE,OAAO,CAAC;IAC1C,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,UAAU,kBAAkB;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,qBAAa,iBAAiB;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;gBAEX,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,eAAe;IAOrE,MAAM,CAAC,EACX,KAAK,EACL,QAAQ,EACR,WAAW,EACX,+BAAuC,EACvC,eAAuB,GACxB,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IA6BlE,MAAM,CAAC,EACX,MAAM,EACN,KAAK,EACL,QAAgB,EAChB,eAAuB,GACxB,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IAkCxE,MAAM;IAIN,WAAW,IAAI,OAAO;IAOtB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,mBAAmB;CAqB5B"}
@@ -52,6 +52,11 @@ export interface AppChallenge {
52
52
  userAgent?: string;
53
53
  deviceId?: string;
54
54
  ipAddress?: string;
55
+ custom?: Record<string, unknown>;
56
+ user?: ChallengeUser;
57
+ }
58
+ export interface ChallengeUser {
59
+ custom?: Record<string, unknown>;
55
60
  }
56
61
  export interface AppCredential {
57
62
  credentialId: string;
@@ -68,6 +73,8 @@ export interface ClaimChallengeResponse {
68
73
  ipAddress?: string;
69
74
  actionCode?: string;
70
75
  idempotencyKey?: string;
76
+ custom?: Record<string, unknown>;
77
+ user?: ChallengeUser;
71
78
  }
72
79
  export interface UpdateChallengeInput {
73
80
  challengeId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-authsignal",
3
- "version": "2.12.1",
3
+ "version": "2.14.0",
4
4
  "description": "The official Authsignal React Native library.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -53,7 +53,7 @@
53
53
  "registry": "https://registry.npmjs.org/"
54
54
  },
55
55
  "devDependencies": {
56
- "@authsignal/browser": "^1.13.1",
56
+ "@authsignal/browser": "^1.17.0",
57
57
  "@react-native-community/eslint-config": "^3.0.2",
58
58
  "@types/react": "~17.0.21",
59
59
  "@types/react-native": "0.68.0",
@@ -18,7 +18,7 @@ Pod::Spec.new do |s|
18
18
  s.private_header_files = "ios/**/*.h"
19
19
 
20
20
  s.dependency "React-Core"
21
- s.dependency 'Authsignal', '~> 2.8.1'
21
+ s.dependency 'Authsignal', '~> 2.10.0'
22
22
 
23
23
  # Use install_modules_dependencies helper to install the dependencies if React Native version >=0.71.0.
24
24
  # See https://github.com/facebook/react-native/blob/febf6b7f33fdb4904669f99d795eba4c0f95d7bf/scripts/cocoapods/new_architecture.rb#L79.
@@ -10,13 +10,15 @@ export interface Spec extends TurboModule {
10
10
  token: string | null,
11
11
  withUsername: string | null,
12
12
  withDisplayName: string | null,
13
- withIgnorePasskeyAlreadyExistsError: boolean
13
+ withIgnorePasskeyAlreadyExistsError: boolean,
14
+ withSyncCredentials: boolean
14
15
  ): Promise<Object | null>;
15
16
  signIn(
16
17
  action: string | null,
17
18
  withToken: string | null,
18
19
  withAutofill: boolean,
19
- withPreferImmediatelyAvailableCredentials: boolean
20
+ withPreferImmediatelyAvailableCredentials: boolean,
21
+ withSyncCredentials: boolean
20
22
  ): Promise<Object | null>;
21
23
  shouldPromptToCreatePasskey(username: string | null): Promise<boolean>;
22
24
  isAvailableOnDevice(): Promise<boolean>;
package/src/passkey.ts CHANGED
@@ -22,6 +22,7 @@ interface PasskeySignUpInput {
22
22
  username?: string;
23
23
  displayName?: string;
24
24
  ignorePasskeyAlreadyExistsError?: boolean;
25
+ syncCredentials?: boolean;
25
26
  }
26
27
 
27
28
  interface PasskeySignInInput {
@@ -29,6 +30,7 @@ interface PasskeySignInInput {
29
30
  token?: string;
30
31
  autofill?: boolean;
31
32
  preferImmediatelyAvailableCredentials?: boolean;
33
+ syncCredentials?: boolean;
32
34
  }
33
35
 
34
36
  const AuthsignalPasskeyModule = getNativeModule<AuthsignalPasskeyModuleSpec>(
@@ -56,6 +58,7 @@ export class AuthsignalPasskey {
56
58
  username,
57
59
  displayName,
58
60
  ignorePasskeyAlreadyExistsError = false,
61
+ syncCredentials = false,
59
62
  }: PasskeySignUpInput = {}): Promise<AuthsignalResponse<SignUpResponse>> {
60
63
  await this.ensureModuleIsInitialized();
61
64
 
@@ -64,7 +67,8 @@ export class AuthsignalPasskey {
64
67
  token ?? null,
65
68
  username ?? null,
66
69
  displayName ?? null,
67
- ignorePasskeyAlreadyExistsError
70
+ ignorePasskeyAlreadyExistsError,
71
+ syncCredentials
68
72
  )) as SignUpResponse;
69
73
 
70
74
  return { data };
@@ -82,6 +86,7 @@ export class AuthsignalPasskey {
82
86
  token,
83
87
  autofill = false,
84
88
  preferImmediatelyAvailableCredentials = true,
89
+ syncCredentials = false,
85
90
  }: PasskeySignInInput = {}): Promise<AuthsignalResponse<SignInResponse>> {
86
91
  await this.ensureModuleIsInitialized();
87
92
 
@@ -98,7 +103,8 @@ export class AuthsignalPasskey {
98
103
  action ?? null,
99
104
  token ?? null,
100
105
  autofill,
101
- preferImmediatelyAvailableCredentials
106
+ preferImmediatelyAvailableCredentials,
107
+ syncCredentials
102
108
  )) as SignInResponse;
103
109
 
104
110
  this.autofillRequestPending = false;
@@ -18,12 +18,14 @@ interface PasskeySignUpInput {
18
18
  username?: string;
19
19
  displayName?: string;
20
20
  ignorePasskeyAlreadyExistsError?: boolean;
21
+ syncCredentials?: boolean;
21
22
  }
22
23
 
23
24
  interface PasskeySignInInput {
24
25
  action?: string;
25
26
  token?: string;
26
27
  autofill?: boolean;
28
+ syncCredentials?: boolean;
27
29
  }
28
30
 
29
31
  export class AuthsignalPasskey {
@@ -44,6 +46,7 @@ export class AuthsignalPasskey {
44
46
  username,
45
47
  displayName,
46
48
  ignorePasskeyAlreadyExistsError = false,
49
+ syncCredentials = false,
47
50
  }: PasskeySignUpInput = {}): Promise<AuthsignalResponse<SignUpResponse>> {
48
51
  try {
49
52
  const client = this.getClient();
@@ -51,6 +54,7 @@ export class AuthsignalPasskey {
51
54
  token,
52
55
  username,
53
56
  displayName,
57
+ syncCredentials,
54
58
  });
55
59
 
56
60
  if (result.errorCode) {
@@ -76,6 +80,7 @@ export class AuthsignalPasskey {
76
80
  action,
77
81
  token,
78
82
  autofill = false,
83
+ syncCredentials = false,
79
84
  }: PasskeySignInInput = {}): Promise<AuthsignalResponse<SignInResponse>> {
80
85
  try {
81
86
  const client = this.getClient();
@@ -83,6 +88,7 @@ export class AuthsignalPasskey {
83
88
  action,
84
89
  token,
85
90
  autofill,
91
+ syncCredentials,
86
92
  });
87
93
 
88
94
  if (result.errorCode) {
@@ -110,8 +116,7 @@ export class AuthsignalPasskey {
110
116
  }
111
117
 
112
118
  cancel() {
113
- // On web, passkey operations are managed by the browser
114
- // and cannot be programmatically cancelled
119
+ return;
115
120
  }
116
121
 
117
122
  isSupported(): boolean {
package/src/types.ts CHANGED
@@ -60,6 +60,12 @@ export interface AppChallenge {
60
60
  userAgent?: string;
61
61
  deviceId?: string;
62
62
  ipAddress?: string;
63
+ custom?: Record<string, unknown>;
64
+ user?: ChallengeUser;
65
+ }
66
+
67
+ export interface ChallengeUser {
68
+ custom?: Record<string, unknown>;
63
69
  }
64
70
 
65
71
  export interface AppCredential {
@@ -79,6 +85,8 @@ export interface ClaimChallengeResponse {
79
85
  ipAddress?: string;
80
86
  actionCode?: string;
81
87
  idempotencyKey?: string;
88
+ custom?: Record<string, unknown>;
89
+ user?: ChallengeUser;
82
90
  }
83
91
 
84
92
  export interface UpdateChallengeInput {