react-native-authsignal 1.2.2 → 1.3.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.
@@ -77,5 +77,5 @@ dependencies {
77
77
 
78
78
  implementation "androidx.browser:browser:1.2.0"
79
79
 
80
- implementation("com.authsignal:authsignal-android:2.1.2")
80
+ implementation("com.authsignal:authsignal-android:2.2.0")
81
81
  }
@@ -119,6 +119,33 @@ class AuthsignalDeviceModule(private val reactContext: ReactApplicationContext)
119
119
  }
120
120
  }
121
121
 
122
+ @ReactMethod
123
+ fun claimChallenge(
124
+ challengeId: String,
125
+ promise: Promise
126
+ ) {
127
+ launch(promise) {
128
+ val response = it.claimChallenge(challengeId)
129
+
130
+ if (response.error != null) {
131
+ val errorCode = response.errorCode ?: defaultError
132
+
133
+ promise.reject(errorCode, response.error)
134
+ } else {
135
+ val data = response.data
136
+ if (data == null) {
137
+ promise.resolve(null)
138
+ } else {
139
+ val map = Arguments.createMap()
140
+ map.putBoolean("success", data.success)
141
+ data.userAgent?.let { map.putString("userAgent", it) }
142
+ data.ipAddress?.let { map.putString("ipAddress", it) }
143
+ promise.resolve(map)
144
+ }
145
+ }
146
+ }
147
+ }
148
+
122
149
  @ReactMethod
123
150
  fun updateChallenge(
124
151
  challengeId: String,
@@ -139,6 +166,27 @@ class AuthsignalDeviceModule(private val reactContext: ReactApplicationContext)
139
166
  }
140
167
  }
141
168
 
169
+ @ReactMethod
170
+ fun verify(promise: Promise) {
171
+ launch(promise) {
172
+ val response = it.verify()
173
+
174
+ if (response.error != null) {
175
+ val errorCode = response.errorCode ?: defaultError
176
+
177
+ promise.reject(errorCode, response.error)
178
+ } else {
179
+ val data = response.data!!
180
+ val map = Arguments.createMap()
181
+ map.putString("token", data.token)
182
+ map.putString("userId", data.userId)
183
+ map.putString("userAuthenticatorId", data.userAuthenticatorId)
184
+ map.putString("username", data.username)
185
+ promise.resolve(map)
186
+ }
187
+ }
188
+ }
189
+
142
190
  private fun launch(promise: Promise, fn: suspend (client: AuthsignalDevice) -> Unit) {
143
191
  coroutineScope.launch {
144
192
  authsignal?.let {
@@ -21,10 +21,17 @@ RCT_EXTERN_METHOD(removeCredential:(RCTPromiseResolveBlock)resolve
21
21
  RCT_EXTERN_METHOD(getChallenge:(RCTPromiseResolveBlock)resolve
22
22
  rejecter:(RCTPromiseRejectBlock)reject)
23
23
 
24
+ RCT_EXTERN_METHOD(claimChallenge:(NSString)challengeId
25
+ resolver:(RCTPromiseResolveBlock)resolve
26
+ rejecter:(RCTPromiseRejectBlock)reject)
27
+
24
28
  RCT_EXTERN_METHOD(updateChallenge:(NSString)challengeId
25
29
  withApproval:(BOOL)approved
26
30
  withVerificationCode:(NSString)verificationCode
27
31
  resolver:(RCTPromiseResolveBlock)resolve
28
32
  rejecter:(RCTPromiseRejectBlock)reject)
29
33
 
34
+ RCT_EXTERN_METHOD(verify:(RCTPromiseResolveBlock)resolve
35
+ rejecter:(RCTPromiseRejectBlock)reject)
36
+
30
37
  @end
@@ -124,6 +124,37 @@ class AuthsignalDeviceModule: NSObject {
124
124
  }
125
125
  }
126
126
 
127
+ @objc func claimChallenge(
128
+ _ challengeId: NSString,
129
+ resolver resolve: @escaping RCTPromiseResolveBlock,
130
+ rejecter reject: @escaping RCTPromiseRejectBlock
131
+ ) -> Void {
132
+ guard let authsignal = authsignal else {
133
+ resolve(nil)
134
+ return
135
+ }
136
+
137
+ let challenge = challengeId as String
138
+
139
+ Task.init {
140
+ let response = await authsignal.claimChallenge(challengeId: challenge)
141
+
142
+ if let error = response.error {
143
+ reject(response.errorCode ?? "unexpected_error", error, nil)
144
+ } else if let data = response.data {
145
+ let result: [String: String?] = [
146
+ "success": data.success,
147
+ "userAgent": data.userAgent,
148
+ "ipAddress": data.ipAddress,
149
+ ]
150
+
151
+ resolve(result)
152
+ } else {
153
+ resolve(nil)
154
+ }
155
+ }
156
+ }
157
+
127
158
  @objc func updateChallenge(
128
159
  _ challengeId: NSString,
129
160
  withApproval approved: Bool,
@@ -154,4 +185,33 @@ class AuthsignalDeviceModule: NSObject {
154
185
  }
155
186
  }
156
187
  }
188
+
189
+ @objc func verify(
190
+ _ resolve: @escaping RCTPromiseResolveBlock,
191
+ rejecter reject: @escaping RCTPromiseRejectBlock
192
+ ) -> Void {
193
+ guard let authsignal = authsignal else {
194
+ resolve(nil)
195
+ return
196
+ }
197
+
198
+ Task.init {
199
+ let response = await authsignal.verify()
200
+
201
+ if let error = response.error {
202
+ reject(response.errorCode ?? "unexpected_error", error, nil)
203
+ } else if let data = response.data {
204
+ let result: [String: String?] = [
205
+ "token": data.token,
206
+ "userId": data.userId,
207
+ "userAuthenticatorId": data.userAuthenticatorId,
208
+ "username": data.username,
209
+ ]
210
+
211
+ resolve(result)
212
+ } else {
213
+ resolve(nil)
214
+ }
215
+ }
216
+ }
157
217
  }
@@ -86,12 +86,29 @@ class AuthsignalDevice {
86
86
  return (0, _error.handleErrorCodes)(ex);
87
87
  }
88
88
  }
89
- async updateChallenge(_ref2) {
89
+ async claimChallenge(_ref2) {
90
+ let {
91
+ challengeId
92
+ } = _ref2;
93
+ await this.ensureModuleIsInitialized();
94
+ try {
95
+ const data = await AuthsignalDeviceModule.claimChallenge(challengeId);
96
+ return {
97
+ data
98
+ };
99
+ } catch (ex) {
100
+ if (this.enableLogging) {
101
+ console.log(ex);
102
+ }
103
+ return (0, _error.handleErrorCodes)(ex);
104
+ }
105
+ }
106
+ async updateChallenge(_ref3) {
90
107
  let {
91
108
  challengeId,
92
109
  approved,
93
110
  verificationCode = null
94
- } = _ref2;
111
+ } = _ref3;
95
112
  await this.ensureModuleIsInitialized();
96
113
  try {
97
114
  const data = await AuthsignalDeviceModule.updateChallenge(challengeId, approved, verificationCode);
@@ -105,6 +122,20 @@ class AuthsignalDevice {
105
122
  return (0, _error.handleErrorCodes)(ex);
106
123
  }
107
124
  }
125
+ async verify() {
126
+ await this.ensureModuleIsInitialized();
127
+ try {
128
+ const data = await AuthsignalDeviceModule.verify();
129
+ return {
130
+ data
131
+ };
132
+ } catch (ex) {
133
+ if (this.enableLogging) {
134
+ console.log(ex);
135
+ }
136
+ return (0, _error.handleErrorCodes)(ex);
137
+ }
138
+ }
108
139
  async ensureModuleIsInitialized() {
109
140
  if (initialized) {
110
141
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["initialized","AuthsignalDeviceModule","NativeModules","Proxy","get","Error","LINKING_ERROR","AuthsignalDevice","constructor","tenantID","baseURL","enableLogging","getCredential","ensureModuleIsInitialized","data","ex","console","log","handleErrorCodes","addCredential","token","removeCredential","getChallenge","updateChallenge","challengeId","approved","verificationCode","initialize"],"sourceRoot":"../../src","sources":["device.ts"],"mappings":"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"}
1
+ {"version":3,"names":["initialized","AuthsignalDeviceModule","NativeModules","Proxy","get","Error","LINKING_ERROR","AuthsignalDevice","constructor","tenantID","baseURL","enableLogging","getCredential","ensureModuleIsInitialized","data","ex","console","log","handleErrorCodes","addCredential","token","removeCredential","getChallenge","claimChallenge","challengeId","updateChallenge","approved","verificationCode","verify","initialize"],"sourceRoot":"../../src","sources":["device.ts"],"mappings":"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"}
@@ -80,12 +80,29 @@ export class AuthsignalDevice {
80
80
  return handleErrorCodes(ex);
81
81
  }
82
82
  }
83
- async updateChallenge(_ref2) {
83
+ async claimChallenge(_ref2) {
84
+ let {
85
+ challengeId
86
+ } = _ref2;
87
+ await this.ensureModuleIsInitialized();
88
+ try {
89
+ const data = await AuthsignalDeviceModule.claimChallenge(challengeId);
90
+ return {
91
+ data
92
+ };
93
+ } catch (ex) {
94
+ if (this.enableLogging) {
95
+ console.log(ex);
96
+ }
97
+ return handleErrorCodes(ex);
98
+ }
99
+ }
100
+ async updateChallenge(_ref3) {
84
101
  let {
85
102
  challengeId,
86
103
  approved,
87
104
  verificationCode = null
88
- } = _ref2;
105
+ } = _ref3;
89
106
  await this.ensureModuleIsInitialized();
90
107
  try {
91
108
  const data = await AuthsignalDeviceModule.updateChallenge(challengeId, approved, verificationCode);
@@ -99,6 +116,20 @@ export class AuthsignalDevice {
99
116
  return handleErrorCodes(ex);
100
117
  }
101
118
  }
119
+ async verify() {
120
+ await this.ensureModuleIsInitialized();
121
+ try {
122
+ const data = await AuthsignalDeviceModule.verify();
123
+ return {
124
+ data
125
+ };
126
+ } catch (ex) {
127
+ if (this.enableLogging) {
128
+ console.log(ex);
129
+ }
130
+ return handleErrorCodes(ex);
131
+ }
132
+ }
102
133
  async ensureModuleIsInitialized() {
103
134
  if (initialized) {
104
135
  return;
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","handleErrorCodes","LINKING_ERROR","initialized","AuthsignalDeviceModule","Proxy","get","Error","AuthsignalDevice","constructor","tenantID","baseURL","enableLogging","getCredential","ensureModuleIsInitialized","data","ex","console","log","addCredential","token","removeCredential","getChallenge","updateChallenge","challengeId","approved","verificationCode","initialize"],"sourceRoot":"../../src","sources":["device.ts"],"mappings":"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"}
1
+ {"version":3,"names":["NativeModules","handleErrorCodes","LINKING_ERROR","initialized","AuthsignalDeviceModule","Proxy","get","Error","AuthsignalDevice","constructor","tenantID","baseURL","enableLogging","getCredential","ensureModuleIsInitialized","data","ex","console","log","addCredential","token","removeCredential","getChallenge","claimChallenge","challengeId","updateChallenge","approved","verificationCode","verify","initialize"],"sourceRoot":"../../src","sources":["device.ts"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { AuthsignalResponse, DeviceChallenge, DeviceCredential } from './types';
1
+ import type { AuthsignalResponse, ClaimChallengeResponse, DeviceChallenge, DeviceCredential, VerifyDeviceResponse } from './types';
2
2
  interface ConstructorArgs {
3
3
  tenantID: string;
4
4
  baseURL: string;
@@ -7,6 +7,9 @@ interface ConstructorArgs {
7
7
  interface AddCredentialInput {
8
8
  token?: string;
9
9
  }
10
+ interface ClaimChallengeInput {
11
+ challengeId: string;
12
+ }
10
13
  interface UpdateChallengeInput {
11
14
  challengeId: string;
12
15
  approved: boolean;
@@ -21,7 +24,9 @@ export declare class AuthsignalDevice {
21
24
  addCredential({ token }?: AddCredentialInput): Promise<AuthsignalResponse<boolean>>;
22
25
  removeCredential(): Promise<AuthsignalResponse<boolean>>;
23
26
  getChallenge(): Promise<AuthsignalResponse<DeviceChallenge | undefined>>;
27
+ claimChallenge({ challengeId, }: ClaimChallengeInput): Promise<AuthsignalResponse<ClaimChallengeResponse>>;
24
28
  updateChallenge({ challengeId, approved, verificationCode, }: UpdateChallengeInput): Promise<AuthsignalResponse<boolean>>;
29
+ verify(): Promise<AuthsignalResponse<VerifyDeviceResponse>>;
25
30
  private ensureModuleIsInitialized;
26
31
  }
27
32
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/device.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACxB;AAeD,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,qBAAa,gBAAgB;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;gBAEX,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,eAAe;IAM3D,aAAa,IAAI,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAgB9D,aAAa,CAAC,EAAE,KAAK,EAAE,GAAE,kBAAuB,GAAG,OAAO,CAC9D,kBAAkB,CAAC,OAAO,CAAC,CAC5B;IAgBK,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAexD,YAAY,IAAI,OAAO,CAC3B,kBAAkB,CAAC,eAAe,GAAG,SAAS,CAAC,CAChD;IAgBK,eAAe,CAAC,EACpB,WAAW,EACX,QAAQ,EACR,gBAAuB,GACxB,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAoBhD,yBAAyB;CASxC"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../src/device.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,sBAAsB,EACtB,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACrB,MAAM,SAAS,CAAC;AAEjB,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACxB;AAeD,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,mBAAmB;IAC3B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,qBAAa,gBAAgB;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;gBAEX,EAAE,QAAQ,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,eAAe;IAM3D,aAAa,IAAI,OAAO,CAAC,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAgB9D,aAAa,CAAC,EAAE,KAAK,EAAE,GAAE,kBAAuB,GAAG,OAAO,CAC9D,kBAAkB,CAAC,OAAO,CAAC,CAC5B;IAgBK,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAexD,YAAY,IAAI,OAAO,CAC3B,kBAAkB,CAAC,eAAe,GAAG,SAAS,CAAC,CAChD;IAgBK,cAAc,CAAC,EACnB,WAAW,GACZ,EAAE,mBAAmB,GAAG,OAAO,CAAC,kBAAkB,CAAC,sBAAsB,CAAC,CAAC;IAgBtE,eAAe,CAAC,EACpB,WAAW,EACX,QAAQ,EACR,gBAAuB,GACxB,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAoBxD,MAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;YAgBnD,yBAAyB;CASxC"}
@@ -64,4 +64,15 @@ export interface DeviceChallenge {
64
64
  deviceId?: string;
65
65
  ipAddress?: string;
66
66
  }
67
+ export interface ClaimChallengeResponse {
68
+ success: boolean;
69
+ userAgent?: string;
70
+ ipAddress?: string;
71
+ }
72
+ export interface VerifyDeviceResponse {
73
+ token: string;
74
+ userId: string;
75
+ userAuthenticatorId: string;
76
+ username?: string;
77
+ }
67
78
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-authsignal",
3
- "version": "1.2.2",
3
+ "version": "1.3.0",
4
4
  "description": "The official Authsignal React Native library.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -17,7 +17,7 @@ Pod::Spec.new do |s|
17
17
  s.source_files = "ios/**/*.{h,m,mm,swift}"
18
18
 
19
19
  s.dependency "React-Core"
20
- s.dependency 'Authsignal', '1.1.3'
20
+ s.dependency 'Authsignal', '1.2.0'
21
21
 
22
22
  # Don't install the dependencies when we run `pod install` in the old architecture.
23
23
  if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
package/src/device.ts CHANGED
@@ -2,8 +2,10 @@ import { NativeModules } from 'react-native';
2
2
  import { handleErrorCodes, LINKING_ERROR } from './error';
3
3
  import type {
4
4
  AuthsignalResponse,
5
+ ClaimChallengeResponse,
5
6
  DeviceChallenge,
6
7
  DeviceCredential,
8
+ VerifyDeviceResponse,
7
9
  } from './types';
8
10
 
9
11
  interface ConstructorArgs {
@@ -29,6 +31,10 @@ interface AddCredentialInput {
29
31
  token?: string;
30
32
  }
31
33
 
34
+ interface ClaimChallengeInput {
35
+ challengeId: string;
36
+ }
37
+
32
38
  interface UpdateChallengeInput {
33
39
  challengeId: string;
34
40
  approved: boolean;
@@ -113,6 +119,24 @@ export class AuthsignalDevice {
113
119
  }
114
120
  }
115
121
 
122
+ async claimChallenge({
123
+ challengeId,
124
+ }: ClaimChallengeInput): Promise<AuthsignalResponse<ClaimChallengeResponse>> {
125
+ await this.ensureModuleIsInitialized();
126
+
127
+ try {
128
+ const data = await AuthsignalDeviceModule.claimChallenge(challengeId);
129
+
130
+ return { data };
131
+ } catch (ex) {
132
+ if (this.enableLogging) {
133
+ console.log(ex);
134
+ }
135
+
136
+ return handleErrorCodes(ex);
137
+ }
138
+ }
139
+
116
140
  async updateChallenge({
117
141
  challengeId,
118
142
  approved,
@@ -137,6 +161,22 @@ export class AuthsignalDevice {
137
161
  }
138
162
  }
139
163
 
164
+ async verify(): Promise<AuthsignalResponse<VerifyDeviceResponse>> {
165
+ await this.ensureModuleIsInitialized();
166
+
167
+ try {
168
+ const data = await AuthsignalDeviceModule.verify();
169
+
170
+ return { data };
171
+ } catch (ex) {
172
+ if (this.enableLogging) {
173
+ console.log(ex);
174
+ }
175
+
176
+ return handleErrorCodes(ex);
177
+ }
178
+ }
179
+
140
180
  private async ensureModuleIsInitialized() {
141
181
  if (initialized) {
142
182
  return;
package/src/types.ts CHANGED
@@ -74,3 +74,16 @@ export interface DeviceChallenge {
74
74
  deviceId?: string;
75
75
  ipAddress?: string;
76
76
  }
77
+
78
+ export interface ClaimChallengeResponse {
79
+ success: boolean;
80
+ userAgent?: string;
81
+ ipAddress?: string;
82
+ }
83
+
84
+ export interface VerifyDeviceResponse {
85
+ token: string;
86
+ userId: string;
87
+ userAuthenticatorId: string;
88
+ username?: string;
89
+ }