react-native-authsignal 2.13.0 → 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.
- package/README.md +2 -0
- package/android/build.gradle +1 -1
- package/android/gradle.properties +1 -1
- package/android/src/main/java/com/authsignal/react/AuthsignalPasskeyModule.kt +4 -4
- package/ios/AuthsignalPasskeyModule.m +2 -0
- package/ios/AuthsignalPasskeyModule.swift +10 -6
- package/lib/commonjs/NativeAuthsignalPasskeyModule.js.map +1 -1
- package/lib/commonjs/passkey.js +6 -4
- package/lib/commonjs/passkey.js.map +1 -1
- package/lib/commonjs/passkey.web.js +9 -6
- package/lib/commonjs/passkey.web.js.map +1 -1
- package/lib/module/NativeAuthsignalPasskeyModule.js.map +1 -1
- package/lib/module/passkey.js +6 -4
- package/lib/module/passkey.js.map +1 -1
- package/lib/module/passkey.web.js +9 -6
- package/lib/module/passkey.web.js.map +1 -1
- package/lib/typescript/NativeAuthsignalPasskeyModule.d.ts +2 -2
- package/lib/typescript/NativeAuthsignalPasskeyModule.d.ts.map +1 -1
- package/lib/typescript/passkey.d.ts +4 -2
- package/lib/typescript/passkey.d.ts.map +1 -1
- package/lib/typescript/passkey.web.d.ts +4 -2
- package/lib/typescript/passkey.web.d.ts.map +1 -1
- package/package.json +2 -2
- package/react-native-authsignal.podspec +1 -1
- package/src/NativeAuthsignalPasskeyModule.ts +4 -2
- package/src/passkey.ts +8 -2
- package/src/passkey.web.ts +7 -2
package/README.md
CHANGED
package/android/build.gradle
CHANGED
|
@@ -66,7 +66,7 @@ dependencies {
|
|
|
66
66
|
|
|
67
67
|
implementation "androidx.browser:browser:1.2.0"
|
|
68
68
|
|
|
69
|
-
implementation("com.authsignal:authsignal-android:3.
|
|
69
|
+
implementation("com.authsignal:authsignal-android:3.11.0")
|
|
70
70
|
|
|
71
71
|
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3")
|
|
72
72
|
}
|
|
@@ -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
|
|
@@ -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) {
|
|
@@ -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,
|
|
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":[]}
|
package/lib/commonjs/passkey.js
CHANGED
|
@@ -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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,8BAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAEyC,SAAAI,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;
|
|
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":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AACA,IAAAG,8BAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAEyC,SAAAI,uBAAAC,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AA8BzC,MAAMG,uBAAuB,GAAG,IAAAC,gCAAe,EAC7C,yBAAyB,EACzBC,sCACF,CAAC;AAEM,MAAMC,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,MAAMlB,uBAAuB,CAACW,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,OAAO,IAAAG,uBAAgB,EAACH,EAAE,CAAC;IAC7B;EACF;EAEA,MAAMI,MAAMA,CAAC;IACXC,MAAM;IACNZ,KAAK;IACLa,QAAQ,GAAG,KAAK;IAChBC,qCAAqC,GAAG,IAAI;IAC5CV,eAAe,GAAG;EACA,CAAC,GAAG,CAAC,CAAC,EAA+C;IACvE,MAAM,IAAI,CAACC,yBAAyB,CAAC,CAAC;IAEtC,IAAI;MACF,IAAIQ,QAAQ,EAAE;QACZ,IAAI,IAAI,CAACpB,sBAAsB,EAAE;UAC/B,OAAO,CAAC,CAAC;QACX,CAAC,MAAM;UACL,IAAI,CAACA,sBAAsB,GAAG,IAAI;QACpC;MACF;MAEA,MAAMa,IAAI,GAAI,MAAMlB,uBAAuB,CAACuB,MAAM,CAChDC,MAAM,IAAI,IAAI,EACdZ,KAAK,IAAI,IAAI,EACba,QAAQ,EACRC,qCAAqC,EACrCV,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,CAACe,QAAQ,EAAE;QACnCL,OAAO,CAACC,GAAG,CAACF,EAAE,CAAC;MACjB;MAEA,IAAI,CAACd,sBAAsB,GAAG,KAAK;MAEnC,OAAO,IAAAiB,uBAAgB,EAACH,EAAE,CAAC;IAC7B;EACF;EAEAQ,MAAMA,CAAA,EAAG;IACP,IAAI,CAACtB,sBAAsB,GAAG,KAAK;IACnCL,uBAAuB,CAAC2B,MAAM,CAAC,CAAC;EAClC;EAEAC,WAAWA,CAAA,EAAY;IACrB,IAAIC,qBAAQ,CAACC,EAAE,KAAK,SAAS,EAAE;MAC7B,OAAOD,qBAAQ,CAACE,OAAO,IAAI,EAAE;IAC/B,CAAC,MAAM,IAAIF,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MAChC,OAAOE,QAAQ,CAACH,qBAAQ,CAACE,OAAO,EAAE,EAAE,CAAC,IAAI,EAAE;IAC7C,CAAC,MAAM;MACL,OAAO,KAAK;IACd;EACF;EAEA,MAAME,2BAA2BA,CAAC;IAChCpB;EACqB,CAAC,GAAG,CAAC,CAAC,EAAoB;IAC/C,MAAM,IAAI,CAACI,yBAAyB,CAAC,CAAC;IAEtC,OAAO,MAAMjB,uBAAuB,CAACiC,2BAA2B,CAC9DpB,QAAQ,IAAI,IACd,CAAC;EACH;;EAEA;AACF;AACA;EACE,MAAMqB,mBAAmBA,CAAA,EAAqB;IAC5C,MAAM,IAAI,CAACjB,yBAAyB,CAAC,CAAC;IAEtC,OAAO,MAAMjB,uBAAuB,CAACkC,mBAAmB,CAAC,CAAC;EAC5D;EAEA,MAAcjB,yBAAyBA,CAAA,EAAG;IACxC,IAAI,IAAI,CAACb,WAAW,EAAE;MACpB;IACF;IAEA,MAAMJ,uBAAuB,CAACmC,UAAU,CACtC,IAAI,CAAC5B,QAAQ,EACb,IAAI,CAACC,OAAO,EACZ,IAAI,CAACC,QAAQ,IAAI,IACnB,CAAC;IAED,IAAI,CAACL,WAAW,GAAG,IAAI;EACzB;AACF;AAACgC,OAAA,CAAAjC,iBAAA,GAAAA,iBAAA","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
|
-
|
|
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":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;
|
|
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":["TurboModuleRegistry","get"],"sourceRoot":"../../src","sources":["NativeAuthsignalPasskeyModule.ts"],"mappings":"AAAA,SAASA,mBAAmB,QAA0B,cAAc;
|
|
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":[]}
|
package/lib/module/passkey.js
CHANGED
|
@@ -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":"AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,gBAAgB,QAAQ,SAAS;AAC1C,SAASC,eAAe,QAAQ,mBAAmB;AACnD,OAAOC,6BAA6B,MAE7B,iCAAiC;
|
|
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":"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","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
|
-
|
|
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":"AAAA,SAASA,oBAAoB,QAAQ,cAAc;AACnD,SAASC,gBAAgB,QAAQ,SAAS;
|
|
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,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,
|
|
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;
|
|
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;
|
|
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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-authsignal",
|
|
3
|
-
"version": "2.
|
|
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.
|
|
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.
|
|
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;
|
package/src/passkey.web.ts
CHANGED
|
@@ -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
|
-
|
|
114
|
-
// and cannot be programmatically cancelled
|
|
119
|
+
return;
|
|
115
120
|
}
|
|
116
121
|
|
|
117
122
|
isSupported(): boolean {
|