react-native-authsignal 2.6.1 → 2.8.0-alpha.2
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 +3 -19
- package/android/gradle.properties +1 -1
- package/android/src/main/java/com/authsignal/react/AuthsignalEmailModule.kt +11 -18
- package/android/src/main/java/com/authsignal/react/AuthsignalInAppModule.kt +61 -45
- package/android/src/main/java/com/authsignal/react/AuthsignalModule.kt +25 -39
- package/android/src/main/java/com/authsignal/react/AuthsignalPackage.kt +70 -17
- package/android/src/main/java/com/authsignal/react/AuthsignalPasskeyModule.kt +23 -17
- package/android/src/main/java/com/authsignal/react/AuthsignalPushModule.kt +16 -21
- package/android/src/main/java/com/authsignal/react/AuthsignalQRCodeModule.kt +16 -22
- package/android/src/main/java/com/authsignal/react/AuthsignalSMSModule.kt +11 -25
- package/android/src/main/java/com/authsignal/react/AuthsignalTOTPModule.kt +10 -17
- package/android/src/main/java/com/authsignal/react/AuthsignalWhatsappModule.kt +10 -23
- package/ios/AuthsignalEmailModule.m +7 -7
- package/ios/AuthsignalEmailModule.swift +10 -9
- package/ios/AuthsignalInAppModule.m +18 -17
- package/ios/AuthsignalInAppModule.swift +41 -27
- package/ios/AuthsignalModule.m +4 -4
- package/ios/AuthsignalModule.swift +14 -10
- package/ios/AuthsignalPasskeyModule.m +10 -10
- package/ios/AuthsignalPasskeyModule.swift +22 -21
- package/ios/AuthsignalPushModule.m +9 -9
- package/ios/AuthsignalPushModule.swift +14 -13
- package/ios/AuthsignalQRModule.m +10 -10
- package/ios/AuthsignalQRModule.swift +15 -14
- package/ios/AuthsignalSMSModule.m +7 -7
- package/ios/AuthsignalSMSModule.swift +10 -9
- package/ios/AuthsignalTOTPModule.m +5 -5
- package/ios/AuthsignalTOTPModule.swift +8 -7
- package/ios/AuthsignalTurboModules.mm +26 -0
- package/ios/AuthsignalWhatsappModule.m +5 -5
- package/ios/AuthsignalWhatsappModule.swift +8 -7
- package/lib/commonjs/NativeAuthsignalEmailModule.js +9 -0
- package/lib/commonjs/NativeAuthsignalEmailModule.js.map +1 -0
- package/lib/commonjs/NativeAuthsignalInAppModule.js +9 -0
- package/lib/commonjs/NativeAuthsignalInAppModule.js.map +1 -0
- package/lib/commonjs/NativeAuthsignalModule.js +9 -0
- package/lib/commonjs/NativeAuthsignalModule.js.map +1 -0
- package/lib/commonjs/NativeAuthsignalPasskeyModule.js +9 -0
- package/lib/commonjs/NativeAuthsignalPasskeyModule.js.map +1 -0
- package/lib/commonjs/NativeAuthsignalPushModule.js +9 -0
- package/lib/commonjs/NativeAuthsignalPushModule.js.map +1 -0
- package/lib/commonjs/NativeAuthsignalQRCodeModule.js +9 -0
- package/lib/commonjs/NativeAuthsignalQRCodeModule.js.map +1 -0
- package/lib/commonjs/NativeAuthsignalSMSModule.js +9 -0
- package/lib/commonjs/NativeAuthsignalSMSModule.js.map +1 -0
- package/lib/commonjs/NativeAuthsignalTOTPModule.js +9 -0
- package/lib/commonjs/NativeAuthsignalTOTPModule.js.map +1 -0
- package/lib/commonjs/NativeAuthsignalWhatsappModule.js +9 -0
- package/lib/commonjs/NativeAuthsignalWhatsappModule.js.map +1 -0
- package/lib/commonjs/email.js +7 -9
- package/lib/commonjs/email.js.map +1 -1
- package/lib/commonjs/getNativeModule.js +23 -0
- package/lib/commonjs/getNativeModule.js.map +1 -0
- package/lib/commonjs/inapp.js +15 -16
- package/lib/commonjs/inapp.js.map +1 -1
- package/lib/commonjs/index.js +6 -27
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/passkey.js +21 -31
- package/lib/commonjs/passkey.js.map +1 -1
- package/lib/commonjs/push.js +8 -10
- package/lib/commonjs/push.js.map +1 -1
- package/lib/commonjs/qr.js +8 -10
- package/lib/commonjs/qr.js.map +1 -1
- package/lib/commonjs/sms.js +7 -9
- package/lib/commonjs/sms.js.map +1 -1
- package/lib/commonjs/totp.js +7 -9
- package/lib/commonjs/totp.js.map +1 -1
- package/lib/commonjs/types.js.map +1 -1
- package/lib/commonjs/whatsapp.js +7 -9
- package/lib/commonjs/whatsapp.js.map +1 -1
- package/lib/module/NativeAuthsignalEmailModule.js +3 -0
- package/lib/module/NativeAuthsignalEmailModule.js.map +1 -0
- package/lib/module/NativeAuthsignalInAppModule.js +3 -0
- package/lib/module/NativeAuthsignalInAppModule.js.map +1 -0
- package/lib/module/NativeAuthsignalModule.js +3 -0
- package/lib/module/NativeAuthsignalModule.js.map +1 -0
- package/lib/module/NativeAuthsignalPasskeyModule.js +3 -0
- package/lib/module/NativeAuthsignalPasskeyModule.js.map +1 -0
- package/lib/module/NativeAuthsignalPushModule.js +3 -0
- package/lib/module/NativeAuthsignalPushModule.js.map +1 -0
- package/lib/module/NativeAuthsignalQRCodeModule.js +3 -0
- package/lib/module/NativeAuthsignalQRCodeModule.js.map +1 -0
- package/lib/module/NativeAuthsignalSMSModule.js +3 -0
- package/lib/module/NativeAuthsignalSMSModule.js.map +1 -0
- package/lib/module/NativeAuthsignalTOTPModule.js +3 -0
- package/lib/module/NativeAuthsignalTOTPModule.js.map +1 -0
- package/lib/module/NativeAuthsignalWhatsappModule.js +3 -0
- package/lib/module/NativeAuthsignalWhatsappModule.js.map +1 -0
- package/lib/module/email.js +7 -10
- package/lib/module/email.js.map +1 -1
- package/lib/module/getNativeModule.js +17 -0
- package/lib/module/getNativeModule.js.map +1 -0
- package/lib/module/inapp.js +15 -17
- package/lib/module/inapp.js.map +1 -1
- package/lib/module/index.js +4 -27
- package/lib/module/index.js.map +1 -1
- package/lib/module/passkey.js +22 -33
- package/lib/module/passkey.js.map +1 -1
- package/lib/module/push.js +8 -11
- package/lib/module/push.js.map +1 -1
- package/lib/module/qr.js +8 -11
- package/lib/module/qr.js.map +1 -1
- package/lib/module/sms.js +7 -10
- package/lib/module/sms.js.map +1 -1
- package/lib/module/totp.js +7 -10
- package/lib/module/totp.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/module/whatsapp.js +7 -10
- package/lib/module/whatsapp.js.map +1 -1
- package/lib/typescript/NativeAuthsignalEmailModule.d.ts +10 -0
- package/lib/typescript/NativeAuthsignalEmailModule.d.ts.map +1 -0
- package/lib/typescript/NativeAuthsignalInAppModule.d.ts +15 -0
- package/lib/typescript/NativeAuthsignalInAppModule.d.ts.map +1 -0
- package/lib/typescript/NativeAuthsignalModule.d.ts +8 -0
- package/lib/typescript/NativeAuthsignalModule.d.ts.map +1 -0
- package/lib/typescript/NativeAuthsignalPasskeyModule.d.ts +12 -0
- package/lib/typescript/NativeAuthsignalPasskeyModule.d.ts.map +1 -0
- package/lib/typescript/NativeAuthsignalPushModule.d.ts +12 -0
- package/lib/typescript/NativeAuthsignalPushModule.d.ts.map +1 -0
- package/lib/typescript/NativeAuthsignalQRCodeModule.d.ts +12 -0
- package/lib/typescript/NativeAuthsignalQRCodeModule.d.ts.map +1 -0
- package/lib/typescript/NativeAuthsignalSMSModule.d.ts +10 -0
- package/lib/typescript/NativeAuthsignalSMSModule.d.ts.map +1 -0
- package/lib/typescript/NativeAuthsignalTOTPModule.d.ts +9 -0
- package/lib/typescript/NativeAuthsignalTOTPModule.d.ts.map +1 -0
- package/lib/typescript/NativeAuthsignalWhatsappModule.d.ts +9 -0
- package/lib/typescript/NativeAuthsignalWhatsappModule.d.ts.map +1 -0
- package/lib/typescript/email.d.ts +1 -0
- package/lib/typescript/email.d.ts.map +1 -1
- package/lib/typescript/getNativeModule.d.ts +2 -0
- package/lib/typescript/getNativeModule.d.ts.map +1 -0
- package/lib/typescript/inapp.d.ts +2 -1
- package/lib/typescript/inapp.d.ts.map +1 -1
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/passkey.d.ts +2 -0
- package/lib/typescript/passkey.d.ts.map +1 -1
- package/lib/typescript/push.d.ts +1 -0
- package/lib/typescript/push.d.ts.map +1 -1
- package/lib/typescript/qr.d.ts +1 -0
- package/lib/typescript/qr.d.ts.map +1 -1
- package/lib/typescript/sms.d.ts +1 -0
- package/lib/typescript/sms.d.ts.map +1 -1
- package/lib/typescript/totp.d.ts +1 -0
- package/lib/typescript/totp.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +5 -0
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/whatsapp.d.ts +1 -0
- package/lib/typescript/whatsapp.d.ts.map +1 -1
- package/package.json +10 -1
- package/react-native-authsignal.podspec +3 -2
- package/src/NativeAuthsignalEmailModule.ts +10 -0
- package/src/NativeAuthsignalInAppModule.ts +32 -0
- package/src/NativeAuthsignalModule.ts +8 -0
- package/src/NativeAuthsignalPasskeyModule.ts +26 -0
- package/src/NativeAuthsignalPushModule.ts +20 -0
- package/src/NativeAuthsignalQRCodeModule.ts +20 -0
- package/src/NativeAuthsignalSMSModule.ts +10 -0
- package/src/NativeAuthsignalTOTPModule.ts +9 -0
- package/src/NativeAuthsignalWhatsappModule.ts +9 -0
- package/src/email.ts +90 -0
- package/src/email.web.ts +105 -0
- package/src/error.ts +28 -0
- package/src/error.web.ts +21 -0
- package/src/getNativeModule.ts +28 -0
- package/src/inapp.ts +220 -0
- package/src/index.tsx +80 -0
- package/src/index.web.tsx +99 -0
- package/src/passkey.ts +165 -0
- package/src/passkey.web.ts +153 -0
- package/src/push.ts +147 -0
- package/src/qr.ts +150 -0
- package/src/sms.ts +92 -0
- package/src/sms.web.ts +107 -0
- package/src/totp.ts +79 -0
- package/src/totp.web.ts +95 -0
- package/src/types.ts +161 -0
- package/src/web-client.ts +29 -0
- package/src/whatsapp.ts +76 -0
- package/src/whatsapp.web.ts +83 -0
|
@@ -5,40 +5,29 @@ import com.authsignal.push.AuthsignalPush
|
|
|
5
5
|
import com.facebook.react.bridge.Arguments
|
|
6
6
|
import com.facebook.react.bridge.Promise
|
|
7
7
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
8
|
-
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
9
8
|
import com.facebook.react.bridge.ReactMethod
|
|
9
|
+
import com.facebook.react.module.annotations.ReactModule
|
|
10
10
|
import kotlinx.coroutines.CoroutineScope
|
|
11
11
|
import kotlinx.coroutines.Dispatchers
|
|
12
12
|
import kotlinx.coroutines.SupervisorJob
|
|
13
13
|
import kotlinx.coroutines.launch
|
|
14
14
|
|
|
15
|
+
@ReactModule(name = AuthsignalPushModule.NAME)
|
|
15
16
|
class AuthsignalPushModule(private val reactContext: ReactApplicationContext) :
|
|
16
|
-
|
|
17
|
-
reactContext
|
|
18
|
-
) {
|
|
17
|
+
NativeAuthsignalPushModuleSpec(reactContext) {
|
|
19
18
|
private val coroutineScope = CoroutineScope(SupervisorJob() + Dispatchers.Main.immediate)
|
|
20
19
|
private var authsignal: AuthsignalPush? = null
|
|
21
20
|
private var defaultError = "unexpected_error"
|
|
22
21
|
|
|
23
|
-
override fun getConstants(): Map<String, Any>? {
|
|
24
|
-
val constants: MutableMap<String, Any> = HashMap()
|
|
25
|
-
constants["bundleIdentifier"] = reactContext.applicationInfo.packageName
|
|
26
|
-
return constants
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
override fun getName(): String {
|
|
30
|
-
return "AuthsignalPushModule"
|
|
31
|
-
}
|
|
32
|
-
|
|
33
22
|
@ReactMethod
|
|
34
|
-
fun initialize(tenantID: String
|
|
35
|
-
authsignal = AuthsignalPush(tenantID
|
|
23
|
+
override fun initialize(tenantID: String, baseURL: String, promise: Promise) {
|
|
24
|
+
authsignal = AuthsignalPush(tenantID, baseURL)
|
|
36
25
|
|
|
37
26
|
promise.resolve(null)
|
|
38
27
|
}
|
|
39
28
|
|
|
40
29
|
@ReactMethod
|
|
41
|
-
fun getCredential(promise: Promise) {
|
|
30
|
+
override fun getCredential(promise: Promise) {
|
|
42
31
|
launch(promise) {
|
|
43
32
|
val response = it.getCredential()
|
|
44
33
|
|
|
@@ -61,8 +50,10 @@ class AuthsignalPushModule(private val reactContext: ReactApplicationContext) :
|
|
|
61
50
|
}
|
|
62
51
|
|
|
63
52
|
@ReactMethod
|
|
64
|
-
fun addCredential(
|
|
53
|
+
override fun addCredential(
|
|
65
54
|
token: String?,
|
|
55
|
+
_requireUserAuthentication: Boolean,
|
|
56
|
+
_keychainAccess: String?,
|
|
66
57
|
promise: Promise
|
|
67
58
|
) {
|
|
68
59
|
launch(promise) {
|
|
@@ -85,7 +76,7 @@ class AuthsignalPushModule(private val reactContext: ReactApplicationContext) :
|
|
|
85
76
|
}
|
|
86
77
|
|
|
87
78
|
@ReactMethod
|
|
88
|
-
fun removeCredential(promise: Promise) {
|
|
79
|
+
override fun removeCredential(promise: Promise) {
|
|
89
80
|
launch(promise) {
|
|
90
81
|
val response = it.removeCredential()
|
|
91
82
|
|
|
@@ -100,7 +91,7 @@ class AuthsignalPushModule(private val reactContext: ReactApplicationContext) :
|
|
|
100
91
|
}
|
|
101
92
|
|
|
102
93
|
@ReactMethod
|
|
103
|
-
fun getChallenge(promise: Promise) {
|
|
94
|
+
override fun getChallenge(promise: Promise) {
|
|
104
95
|
launch(promise) {
|
|
105
96
|
val response = it.getChallenge()
|
|
106
97
|
|
|
@@ -128,7 +119,7 @@ class AuthsignalPushModule(private val reactContext: ReactApplicationContext) :
|
|
|
128
119
|
}
|
|
129
120
|
|
|
130
121
|
@ReactMethod
|
|
131
|
-
fun updateChallenge(
|
|
122
|
+
override fun updateChallenge(
|
|
132
123
|
challengeId: String,
|
|
133
124
|
approved: Boolean,
|
|
134
125
|
verificationCode: String?,
|
|
@@ -158,4 +149,8 @@ class AuthsignalPushModule(private val reactContext: ReactApplicationContext) :
|
|
|
158
149
|
}
|
|
159
150
|
}
|
|
160
151
|
}
|
|
152
|
+
|
|
153
|
+
companion object {
|
|
154
|
+
const val NAME = "AuthsignalPushModule"
|
|
155
|
+
}
|
|
161
156
|
}
|
|
@@ -5,41 +5,29 @@ import com.authsignal.qr.AuthsignalQRCode
|
|
|
5
5
|
import com.facebook.react.bridge.Arguments
|
|
6
6
|
import com.facebook.react.bridge.Promise
|
|
7
7
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
8
|
-
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
9
8
|
import com.facebook.react.bridge.ReactMethod
|
|
9
|
+
import com.facebook.react.module.annotations.ReactModule
|
|
10
10
|
import kotlinx.coroutines.CoroutineScope
|
|
11
11
|
import kotlinx.coroutines.Dispatchers
|
|
12
12
|
import kotlinx.coroutines.SupervisorJob
|
|
13
13
|
import kotlinx.coroutines.launch
|
|
14
14
|
|
|
15
|
+
@ReactModule(name = AuthsignalQRCodeModule.NAME)
|
|
15
16
|
class AuthsignalQRCodeModule(private val reactContext: ReactApplicationContext) :
|
|
16
|
-
|
|
17
|
-
reactContext
|
|
18
|
-
) {
|
|
17
|
+
NativeAuthsignalQRCodeModuleSpec(reactContext) {
|
|
19
18
|
private val coroutineScope = CoroutineScope(SupervisorJob() + Dispatchers.Main.immediate)
|
|
20
19
|
private var authsignal: AuthsignalQRCode? = null
|
|
21
20
|
private var defaultError = "unexpected_error"
|
|
22
21
|
|
|
23
|
-
override fun getConstants(): Map<String, Any>? {
|
|
24
|
-
val constants: MutableMap<String, Any> = HashMap()
|
|
25
|
-
constants["bundleIdentifier"] = reactContext.applicationInfo.packageName
|
|
26
|
-
return constants
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
override fun getName(): String {
|
|
30
|
-
return "AuthsignalQRCodeModule"
|
|
31
|
-
}
|
|
32
|
-
|
|
33
22
|
@ReactMethod
|
|
34
|
-
fun initialize(tenantID: String
|
|
35
|
-
|
|
36
|
-
authsignal = AuthsignalQRCode(tenantID!!, baseURL!!)
|
|
23
|
+
override fun initialize(tenantID: String, baseURL: String, promise: Promise) {
|
|
24
|
+
authsignal = AuthsignalQRCode(tenantID, baseURL)
|
|
37
25
|
|
|
38
26
|
promise.resolve(null)
|
|
39
27
|
}
|
|
40
28
|
|
|
41
29
|
@ReactMethod
|
|
42
|
-
fun getCredential(promise: Promise) {
|
|
30
|
+
override fun getCredential(promise: Promise) {
|
|
43
31
|
launch(promise) {
|
|
44
32
|
val response = it.getCredential()
|
|
45
33
|
|
|
@@ -62,8 +50,10 @@ class AuthsignalQRCodeModule(private val reactContext: ReactApplicationContext)
|
|
|
62
50
|
}
|
|
63
51
|
|
|
64
52
|
@ReactMethod
|
|
65
|
-
fun addCredential(
|
|
53
|
+
override fun addCredential(
|
|
66
54
|
token: String?,
|
|
55
|
+
_requireUserAuthentication: Boolean,
|
|
56
|
+
_keychainAccess: String?,
|
|
67
57
|
promise: Promise
|
|
68
58
|
) {
|
|
69
59
|
launch(promise) {
|
|
@@ -86,7 +76,7 @@ class AuthsignalQRCodeModule(private val reactContext: ReactApplicationContext)
|
|
|
86
76
|
}
|
|
87
77
|
|
|
88
78
|
@ReactMethod
|
|
89
|
-
fun removeCredential(promise: Promise) {
|
|
79
|
+
override fun removeCredential(promise: Promise) {
|
|
90
80
|
launch(promise) {
|
|
91
81
|
val response = it.removeCredential()
|
|
92
82
|
|
|
@@ -101,7 +91,7 @@ class AuthsignalQRCodeModule(private val reactContext: ReactApplicationContext)
|
|
|
101
91
|
}
|
|
102
92
|
|
|
103
93
|
@ReactMethod
|
|
104
|
-
fun claimChallenge(
|
|
94
|
+
override fun claimChallenge(
|
|
105
95
|
challengeId: String,
|
|
106
96
|
promise: Promise
|
|
107
97
|
) {
|
|
@@ -130,7 +120,7 @@ class AuthsignalQRCodeModule(private val reactContext: ReactApplicationContext)
|
|
|
130
120
|
}
|
|
131
121
|
|
|
132
122
|
@ReactMethod
|
|
133
|
-
fun updateChallenge(
|
|
123
|
+
override fun updateChallenge(
|
|
134
124
|
challengeId: String,
|
|
135
125
|
approved: Boolean,
|
|
136
126
|
verificationCode: String?,
|
|
@@ -160,4 +150,8 @@ class AuthsignalQRCodeModule(private val reactContext: ReactApplicationContext)
|
|
|
160
150
|
}
|
|
161
151
|
}
|
|
162
152
|
}
|
|
153
|
+
|
|
154
|
+
companion object {
|
|
155
|
+
const val NAME = "AuthsignalQRCodeModule"
|
|
156
|
+
}
|
|
163
157
|
}
|
|
@@ -1,43 +1,25 @@
|
|
|
1
1
|
package com.authsignal.react
|
|
2
2
|
|
|
3
3
|
import android.util.Log
|
|
4
|
-
import com.authsignal.models.AuthsignalResponse
|
|
5
|
-
import com.authsignal.models.ChallengeResponse
|
|
6
|
-
import com.authsignal.models.EnrollResponse
|
|
7
|
-
import com.authsignal.models.VerifyResponse
|
|
8
4
|
import com.authsignal.sms.AuthsignalSMS
|
|
9
|
-
import com.authsignal.totp.AuthsignalTOTP
|
|
10
5
|
import com.facebook.react.bridge.Arguments
|
|
11
6
|
import com.facebook.react.bridge.Promise
|
|
12
7
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
13
|
-
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
14
8
|
import com.facebook.react.bridge.ReactMethod
|
|
9
|
+
import com.facebook.react.module.annotations.ReactModule
|
|
15
10
|
import kotlinx.coroutines.CoroutineScope
|
|
16
11
|
import kotlinx.coroutines.Dispatchers
|
|
17
12
|
import kotlinx.coroutines.SupervisorJob
|
|
18
13
|
import kotlinx.coroutines.launch
|
|
19
|
-
|
|
20
|
-
|
|
14
|
+
@ReactModule(name = AuthsignalSMSModule.NAME)
|
|
21
15
|
class AuthsignalSMSModule(private val reactContext: ReactApplicationContext) :
|
|
22
|
-
|
|
23
|
-
reactContext
|
|
24
|
-
) {
|
|
16
|
+
NativeAuthsignalSMSModuleSpec(reactContext) {
|
|
25
17
|
private val coroutineScope = CoroutineScope(SupervisorJob() + Dispatchers.Main.immediate)
|
|
26
18
|
private var authsignal: AuthsignalSMS? = null
|
|
27
19
|
private val defaultError = "unexpected_error"
|
|
28
20
|
|
|
29
|
-
override fun getConstants(): Map<String, Any>? {
|
|
30
|
-
val constants: MutableMap<String, Any> = HashMap()
|
|
31
|
-
constants["bundleIdentifier"] = reactContext.applicationInfo.packageName
|
|
32
|
-
return constants
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
override fun getName(): String {
|
|
36
|
-
return "AuthsignalSMSModule"
|
|
37
|
-
}
|
|
38
|
-
|
|
39
21
|
@ReactMethod
|
|
40
|
-
fun initialize(tenantID: String, baseURL: String, promise: Promise) {
|
|
22
|
+
override fun initialize(tenantID: String, baseURL: String, promise: Promise) {
|
|
41
23
|
val currentActivity = reactContext.currentActivity
|
|
42
24
|
|
|
43
25
|
if (currentActivity != null) {
|
|
@@ -48,7 +30,7 @@ class AuthsignalSMSModule(private val reactContext: ReactApplicationContext) :
|
|
|
48
30
|
}
|
|
49
31
|
|
|
50
32
|
@ReactMethod
|
|
51
|
-
fun enroll(phoneNumber: String, promise: Promise) {
|
|
33
|
+
override fun enroll(phoneNumber: String, promise: Promise) {
|
|
52
34
|
launch(promise) {
|
|
53
35
|
val response = it.enroll(phoneNumber)
|
|
54
36
|
|
|
@@ -66,7 +48,7 @@ class AuthsignalSMSModule(private val reactContext: ReactApplicationContext) :
|
|
|
66
48
|
}
|
|
67
49
|
|
|
68
50
|
@ReactMethod
|
|
69
|
-
fun challenge(promise: Promise) {
|
|
51
|
+
override fun challenge(promise: Promise) {
|
|
70
52
|
launch(promise) {
|
|
71
53
|
val response = it.challenge()
|
|
72
54
|
|
|
@@ -84,7 +66,7 @@ class AuthsignalSMSModule(private val reactContext: ReactApplicationContext) :
|
|
|
84
66
|
}
|
|
85
67
|
|
|
86
68
|
@ReactMethod
|
|
87
|
-
fun verify(code: String, promise: Promise) {
|
|
69
|
+
override fun verify(code: String, promise: Promise) {
|
|
88
70
|
launch(promise) {
|
|
89
71
|
val response = it.verify(code)
|
|
90
72
|
|
|
@@ -114,4 +96,8 @@ class AuthsignalSMSModule(private val reactContext: ReactApplicationContext) :
|
|
|
114
96
|
}
|
|
115
97
|
}
|
|
116
98
|
}
|
|
99
|
+
|
|
100
|
+
companion object {
|
|
101
|
+
const val NAME = "AuthsignalSMSModule"
|
|
102
|
+
}
|
|
117
103
|
}
|
|
@@ -5,33 +5,22 @@ import com.authsignal.totp.AuthsignalTOTP
|
|
|
5
5
|
import com.facebook.react.bridge.Arguments
|
|
6
6
|
import com.facebook.react.bridge.Promise
|
|
7
7
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
8
|
-
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
9
8
|
import com.facebook.react.bridge.ReactMethod
|
|
9
|
+
import com.facebook.react.module.annotations.ReactModule
|
|
10
10
|
import kotlinx.coroutines.CoroutineScope
|
|
11
11
|
import kotlinx.coroutines.Dispatchers
|
|
12
12
|
import kotlinx.coroutines.SupervisorJob
|
|
13
13
|
import kotlinx.coroutines.launch
|
|
14
14
|
|
|
15
|
+
@ReactModule(name = AuthsignalTOTPModule.NAME)
|
|
15
16
|
class AuthsignalTOTPModule(private val reactContext: ReactApplicationContext) :
|
|
16
|
-
|
|
17
|
-
reactContext
|
|
18
|
-
) {
|
|
17
|
+
NativeAuthsignalTOTPModuleSpec(reactContext) {
|
|
19
18
|
private val coroutineScope = CoroutineScope(SupervisorJob() + Dispatchers.Main.immediate)
|
|
20
19
|
private var authsignal: AuthsignalTOTP? = null
|
|
21
20
|
private val defaultError = "unexpected_error"
|
|
22
21
|
|
|
23
|
-
override fun getConstants(): Map<String, Any>? {
|
|
24
|
-
val constants: MutableMap<String, Any> = HashMap()
|
|
25
|
-
constants["bundleIdentifier"] = reactContext.applicationInfo.packageName
|
|
26
|
-
return constants
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
override fun getName(): String {
|
|
30
|
-
return "AuthsignalTOTPModule"
|
|
31
|
-
}
|
|
32
|
-
|
|
33
22
|
@ReactMethod
|
|
34
|
-
fun initialize(tenantID: String, baseURL: String, promise: Promise) {
|
|
23
|
+
override fun initialize(tenantID: String, baseURL: String, promise: Promise) {
|
|
35
24
|
val currentActivity = reactContext.currentActivity
|
|
36
25
|
|
|
37
26
|
if (currentActivity != null) {
|
|
@@ -42,7 +31,7 @@ class AuthsignalTOTPModule(private val reactContext: ReactApplicationContext) :
|
|
|
42
31
|
}
|
|
43
32
|
|
|
44
33
|
@ReactMethod
|
|
45
|
-
fun enroll(promise: Promise) {
|
|
34
|
+
override fun enroll(promise: Promise) {
|
|
46
35
|
launch(promise) {
|
|
47
36
|
val response = it.enroll()
|
|
48
37
|
|
|
@@ -62,7 +51,7 @@ class AuthsignalTOTPModule(private val reactContext: ReactApplicationContext) :
|
|
|
62
51
|
}
|
|
63
52
|
|
|
64
53
|
@ReactMethod
|
|
65
|
-
fun verify(code: String, promise: Promise) {
|
|
54
|
+
override fun verify(code: String, promise: Promise) {
|
|
66
55
|
launch(promise) {
|
|
67
56
|
val response = it.verify(code)
|
|
68
57
|
|
|
@@ -92,4 +81,8 @@ class AuthsignalTOTPModule(private val reactContext: ReactApplicationContext) :
|
|
|
92
81
|
}
|
|
93
82
|
}
|
|
94
83
|
}
|
|
84
|
+
|
|
85
|
+
companion object {
|
|
86
|
+
const val NAME = "AuthsignalTOTPModule"
|
|
87
|
+
}
|
|
95
88
|
}
|
|
@@ -1,42 +1,25 @@
|
|
|
1
1
|
package com.authsignal.react
|
|
2
2
|
|
|
3
3
|
import android.util.Log
|
|
4
|
-
import com.authsignal.models.AuthsignalResponse
|
|
5
|
-
import com.authsignal.models.ChallengeResponse
|
|
6
|
-
import com.authsignal.models.EnrollResponse
|
|
7
|
-
import com.authsignal.models.VerifyResponse
|
|
8
4
|
import com.authsignal.whatsapp.AuthsignalWhatsApp
|
|
9
5
|
import com.facebook.react.bridge.Arguments
|
|
10
6
|
import com.facebook.react.bridge.Promise
|
|
11
7
|
import com.facebook.react.bridge.ReactApplicationContext
|
|
12
|
-
import com.facebook.react.bridge.ReactContextBaseJavaModule
|
|
13
8
|
import com.facebook.react.bridge.ReactMethod
|
|
9
|
+
import com.facebook.react.module.annotations.ReactModule
|
|
14
10
|
import kotlinx.coroutines.CoroutineScope
|
|
15
11
|
import kotlinx.coroutines.Dispatchers
|
|
16
12
|
import kotlinx.coroutines.SupervisorJob
|
|
17
13
|
import kotlinx.coroutines.launch
|
|
18
|
-
|
|
19
|
-
|
|
14
|
+
@ReactModule(name = AuthsignalWhatsappModule.NAME)
|
|
20
15
|
class AuthsignalWhatsappModule(private val reactContext: ReactApplicationContext) :
|
|
21
|
-
|
|
22
|
-
reactContext
|
|
23
|
-
) {
|
|
16
|
+
NativeAuthsignalWhatsappModuleSpec(reactContext) {
|
|
24
17
|
private val coroutineScope = CoroutineScope(SupervisorJob() + Dispatchers.Main.immediate)
|
|
25
18
|
private var authsignal: AuthsignalWhatsApp? = null
|
|
26
19
|
private val defaultError = "unexpected_error"
|
|
27
20
|
|
|
28
|
-
override fun getConstants(): Map<String, Any>? {
|
|
29
|
-
val constants: MutableMap<String, Any> = HashMap()
|
|
30
|
-
constants["bundleIdentifier"] = reactContext.applicationInfo.packageName
|
|
31
|
-
return constants
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
override fun getName(): String {
|
|
35
|
-
return "AuthsignalWhatsappModule"
|
|
36
|
-
}
|
|
37
|
-
|
|
38
21
|
@ReactMethod
|
|
39
|
-
fun initialize(tenantID: String, baseURL: String, promise: Promise) {
|
|
22
|
+
override fun initialize(tenantID: String, baseURL: String, promise: Promise) {
|
|
40
23
|
val currentActivity = reactContext.currentActivity
|
|
41
24
|
|
|
42
25
|
if (currentActivity != null) {
|
|
@@ -47,7 +30,7 @@ class AuthsignalWhatsappModule(private val reactContext: ReactApplicationContext
|
|
|
47
30
|
}
|
|
48
31
|
|
|
49
32
|
@ReactMethod
|
|
50
|
-
fun challenge(promise: Promise) {
|
|
33
|
+
override fun challenge(promise: Promise) {
|
|
51
34
|
launch(promise) {
|
|
52
35
|
val response = it.challenge()
|
|
53
36
|
|
|
@@ -65,7 +48,7 @@ class AuthsignalWhatsappModule(private val reactContext: ReactApplicationContext
|
|
|
65
48
|
}
|
|
66
49
|
|
|
67
50
|
@ReactMethod
|
|
68
|
-
fun verify(code: String, promise: Promise) {
|
|
51
|
+
override fun verify(code: String, promise: Promise) {
|
|
69
52
|
launch(promise) {
|
|
70
53
|
val response = it.verify(code)
|
|
71
54
|
|
|
@@ -95,4 +78,8 @@ class AuthsignalWhatsappModule(private val reactContext: ReactApplicationContext
|
|
|
95
78
|
}
|
|
96
79
|
}
|
|
97
80
|
}
|
|
81
|
+
|
|
82
|
+
companion object {
|
|
83
|
+
const val NAME = "AuthsignalWhatsappModule"
|
|
84
|
+
}
|
|
98
85
|
}
|
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
|
|
6
6
|
RCT_EXTERN_METHOD(initialize:(NSString)tenantID
|
|
7
7
|
withBaseURL:(NSString)baseURL
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
9
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
10
10
|
|
|
11
11
|
RCT_EXTERN_METHOD(enroll:(NSString)email
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
13
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
14
14
|
|
|
15
15
|
RCT_EXTERN_METHOD(challenge:(RCTPromiseResolveBlock)resolve
|
|
16
|
-
|
|
16
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
17
17
|
|
|
18
18
|
RCT_EXTERN_METHOD(verify:(NSString)code
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
20
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
21
21
|
|
|
22
22
|
@end
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import Security
|
|
2
|
-
import Foundation
|
|
3
1
|
import Authsignal
|
|
2
|
+
import Foundation
|
|
3
|
+
import React
|
|
4
|
+
import Security
|
|
4
5
|
|
|
5
6
|
@objc(AuthsignalEmailModule)
|
|
6
7
|
class AuthsignalEmailModule: NSObject {
|
|
@@ -13,8 +14,8 @@ class AuthsignalEmailModule: NSObject {
|
|
|
13
14
|
@objc func initialize(
|
|
14
15
|
_ tenantID: NSString,
|
|
15
16
|
withBaseURL baseURL: NSString,
|
|
16
|
-
|
|
17
|
-
|
|
17
|
+
resolve: @escaping RCTPromiseResolveBlock,
|
|
18
|
+
reject: @escaping RCTPromiseRejectBlock
|
|
18
19
|
) -> Void {
|
|
19
20
|
self.authsignal = AuthsignalEmail(tenantID: tenantID as String, baseURL: baseURL as String)
|
|
20
21
|
|
|
@@ -23,8 +24,8 @@ class AuthsignalEmailModule: NSObject {
|
|
|
23
24
|
|
|
24
25
|
@objc func enroll(
|
|
25
26
|
_ email: NSString,
|
|
26
|
-
|
|
27
|
-
|
|
27
|
+
resolve: @escaping RCTPromiseResolveBlock,
|
|
28
|
+
reject: @escaping RCTPromiseRejectBlock
|
|
28
29
|
) -> Void {
|
|
29
30
|
if (authsignal == nil) {
|
|
30
31
|
resolve(nil)
|
|
@@ -50,7 +51,7 @@ class AuthsignalEmailModule: NSObject {
|
|
|
50
51
|
|
|
51
52
|
@objc func challenge(
|
|
52
53
|
_ resolve: @escaping RCTPromiseResolveBlock,
|
|
53
|
-
|
|
54
|
+
reject: @escaping RCTPromiseRejectBlock
|
|
54
55
|
) -> Void {
|
|
55
56
|
if (authsignal == nil) {
|
|
56
57
|
resolve(nil)
|
|
@@ -74,8 +75,8 @@ class AuthsignalEmailModule: NSObject {
|
|
|
74
75
|
|
|
75
76
|
@objc func verify(
|
|
76
77
|
_ code: NSString,
|
|
77
|
-
|
|
78
|
-
|
|
78
|
+
resolve: @escaping RCTPromiseResolveBlock,
|
|
79
|
+
reject: @escaping RCTPromiseRejectBlock
|
|
79
80
|
) -> Void {
|
|
80
81
|
if (authsignal == nil) {
|
|
81
82
|
resolve(nil)
|
|
@@ -5,46 +5,47 @@
|
|
|
5
5
|
|
|
6
6
|
RCT_EXTERN_METHOD(initialize:(NSString)tenantID
|
|
7
7
|
withBaseURL:(NSString)baseURL
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
9
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
10
10
|
|
|
11
11
|
RCT_EXTERN_METHOD(getCredential:(NSString)username
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
13
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
14
14
|
|
|
15
15
|
RCT_EXTERN_METHOD(addCredential:(NSString)token
|
|
16
16
|
withRequireUserAuthentication:(BOOL)requireUserAuthentication
|
|
17
17
|
withKeychainAccess:(NSString)keychainAccess
|
|
18
18
|
withUsername:(NSString)username
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
withAppAttestation:(NSDictionary)appAttestation
|
|
20
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
21
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
21
22
|
|
|
22
23
|
RCT_EXTERN_METHOD(removeCredential:(NSString)username
|
|
23
|
-
|
|
24
|
-
|
|
24
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
25
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
25
26
|
|
|
26
27
|
RCT_EXTERN_METHOD(verify:(NSString)action
|
|
27
28
|
withUsername:(NSString)username
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
30
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
30
31
|
|
|
31
32
|
RCT_EXTERN_METHOD(createPin:(NSString)pin
|
|
32
33
|
withUsername:(NSString)username
|
|
33
34
|
withToken:(NSString)token
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
36
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
36
37
|
|
|
37
38
|
RCT_EXTERN_METHOD(verifyPin:(NSString)pin
|
|
38
39
|
withUsername:(NSString)username
|
|
39
40
|
withAction:(NSString)action
|
|
40
|
-
|
|
41
|
-
|
|
41
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
42
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
42
43
|
|
|
43
44
|
RCT_EXTERN_METHOD(deletePin:(NSString)username
|
|
44
|
-
|
|
45
|
-
|
|
45
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
46
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
46
47
|
|
|
47
48
|
RCT_EXTERN_METHOD(getAllPinUsernames:(RCTPromiseResolveBlock)resolve
|
|
48
|
-
|
|
49
|
+
reject:(RCTPromiseRejectBlock)reject)
|
|
49
50
|
|
|
50
51
|
@end
|