react-native-authsignal 1.3.0 → 1.3.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.
@@ -0,0 +1,12 @@
1
+ ### Breaking Changes
2
+ <!-- Optional - List any backward incompatible changes -->
3
+
4
+ ### New Features
5
+ <!-- Optional - List new functionality added -->
6
+
7
+ ### Bug Fixes
8
+ <!-- Optional - List bugs fixed in this release -->
9
+
10
+ ### Checklist
11
+ - [ ] Version bumped
12
+ - [ ] Documentation updated
@@ -0,0 +1,75 @@
1
+ name-template: "v$RESOLVED_VERSION 🚀"
2
+ tag-template: "v$RESOLVED_VERSION"
3
+ categories:
4
+ - title: "⚠️ Breaking Changes"
5
+ labels:
6
+ - "breaking"
7
+ - "major"
8
+ - title: "🚀 Features"
9
+ labels:
10
+ - "feature"
11
+ - "enhancement"
12
+ - title: "🐛 Bug Fixes"
13
+ labels:
14
+ - "fix"
15
+ - "bugfix"
16
+ - "bug"
17
+ - title: "🧰 Maintenance"
18
+ labels:
19
+ - "chore"
20
+ - "maintenance"
21
+ - title: "📚 Documentation"
22
+ labels:
23
+ - "documentation"
24
+ - title: "⬆️ Dependencies"
25
+ collapse-after: 5
26
+ labels:
27
+ - "dependencies"
28
+
29
+ change-template: "- $TITLE @$AUTHOR (#$NUMBER)"
30
+ change-title-escapes: '\<*_&'
31
+ version-resolver:
32
+ major:
33
+ labels:
34
+ - "major"
35
+ - "breaking"
36
+ minor:
37
+ labels:
38
+ - "minor"
39
+ - "feature"
40
+ patch:
41
+ labels:
42
+ - "patch"
43
+ - "fix"
44
+ - "bugfix"
45
+ - "bug"
46
+ default: patch
47
+
48
+ sort-by: "merged_at"
49
+ sort-direction: "descending"
50
+
51
+ exclude-labels:
52
+ - "skip-changelog"
53
+
54
+ autolabeler:
55
+ - label: "documentation"
56
+ files:
57
+ - "*.md"
58
+ - label: "bug"
59
+ branch:
60
+ - '/fix\/.+/'
61
+ title:
62
+ - "/fix/i"
63
+ - label: "feature"
64
+ branch:
65
+ - '/feature\/.+/'
66
+ - label: "dependencies"
67
+ files:
68
+ - "yarn.lock"
69
+
70
+ template: |
71
+ ## Changes in Release v$RESOLVED_VERSION
72
+
73
+ $CHANGES
74
+
75
+ **Full Changelog**: https://github.com/$OWNER/$REPOSITORY/compare/$PREVIOUS_TAG...v$RESOLVED_VERSION
@@ -0,0 +1,25 @@
1
+ name: Release Drafter
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+ pull_request:
8
+ types: [opened, reopened, synchronize]
9
+ workflow_dispatch:
10
+
11
+ permissions:
12
+ contents: read
13
+
14
+ jobs:
15
+ update_release_draft:
16
+ permissions:
17
+ contents: write
18
+ pull-requests: write
19
+ runs-on: ubuntu-latest
20
+ steps:
21
+ - uses: release-drafter/release-drafter@v6
22
+ with:
23
+ config-name: release-drafter-config.yml
24
+ env:
25
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -2,7 +2,7 @@ name: Release the Authsignal React Native package
2
2
 
3
3
  on:
4
4
  release:
5
- types: [created]
5
+ types: [published]
6
6
 
7
7
  jobs:
8
8
  publish:
@@ -142,7 +142,7 @@ class AuthsignalDeviceModule: NSObject {
142
142
  if let error = response.error {
143
143
  reject(response.errorCode ?? "unexpected_error", error, nil)
144
144
  } else if let data = response.data {
145
- let result: [String: String?] = [
145
+ let result: [String: Any?] = [
146
146
  "success": data.success,
147
147
  "userAgent": data.userAgent,
148
148
  "ipAddress": data.ipAddress,
@@ -12,6 +12,7 @@ RCT_EXTERN_METHOD(getCredential:(RCTPromiseResolveBlock)resolve
12
12
  rejecter:(RCTPromiseRejectBlock)reject)
13
13
 
14
14
  RCT_EXTERN_METHOD(addCredential:(NSString)token
15
+ withKeychainAccess:(NSString)keychainAccess
15
16
  resolver:(RCTPromiseResolveBlock)resolve
16
17
  rejecter:(RCTPromiseRejectBlock)reject)
17
18
 
@@ -51,6 +51,7 @@ class AuthsignalPushModule: NSObject {
51
51
 
52
52
  @objc func addCredential(
53
53
  _ token: NSString?,
54
+ withKeychainAccess keychainAccess: NSString,
54
55
  resolver resolve: @escaping RCTPromiseResolveBlock,
55
56
  rejecter reject: @escaping RCTPromiseRejectBlock
56
57
  ) -> Void {
@@ -60,7 +61,8 @@ class AuthsignalPushModule: NSObject {
60
61
  }
61
62
 
62
63
  let tokenStr = token as String?
63
- let keychainAccess: KeychainAccess = .whenUnlockedThisDeviceOnly
64
+
65
+ let keychainAccess = getKeychainAccess(value: keychainAccess as String?)
64
66
 
65
67
  Task.init {
66
68
  let response = await authsignal.addCredential(token: tokenStr, keychainAccess: keychainAccess)
@@ -154,4 +156,26 @@ class AuthsignalPushModule: NSObject {
154
156
  }
155
157
  }
156
158
  }
159
+
160
+ func getKeychainAccess(value: String?) -> KeychainAccess {
161
+ switch value {
162
+ case "afterFirstUnlock":
163
+ return .afterFirstUnlock
164
+
165
+ case "afterFirstUnlockThisDeviceOnly":
166
+ return .afterFirstUnlockThisDeviceOnly
167
+
168
+ case "whenUnlocked":
169
+ return .whenUnlocked
170
+
171
+ case "whenUnlockedThisDeviceOnly":
172
+ return .whenUnlockedThisDeviceOnly
173
+
174
+ case "afterFirstUnlock":
175
+ return .whenPasscodeSetThisDeviceOnly
176
+
177
+ default:
178
+ return .whenUnlockedThisDeviceOnly
179
+ }
180
+ }
157
181
  }
@@ -43,11 +43,12 @@ class AuthsignalPush {
43
43
  }
44
44
  async addCredential() {
45
45
  let {
46
- token
46
+ token,
47
+ keychainAccess
47
48
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
48
49
  await this.ensureModuleIsInitialized();
49
50
  try {
50
- const data = await AuthsignalPushModule.addCredential(token);
51
+ const data = _reactNative.Platform.OS === 'ios' ? await AuthsignalPushModule.addCredential(token, keychainAccess) : await AuthsignalPushModule.addCredential(token);
51
52
  return {
52
53
  data
53
54
  };
@@ -1 +1 @@
1
- {"version":3,"names":["initialized","AuthsignalPushModule","NativeModules","Proxy","get","Error","LINKING_ERROR","AuthsignalPush","constructor","tenantID","baseURL","enableLogging","getCredential","ensureModuleIsInitialized","data","ex","console","log","handleErrorCodes","addCredential","token","removeCredential","getChallenge","updateChallenge","challengeId","approved","verificationCode","initialize"],"sourceRoot":"../../src","sources":["push.ts"],"mappings":"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"}
1
+ {"version":3,"names":["initialized","AuthsignalPushModule","NativeModules","Proxy","get","Error","LINKING_ERROR","AuthsignalPush","constructor","tenantID","baseURL","enableLogging","getCredential","ensureModuleIsInitialized","data","ex","console","log","handleErrorCodes","addCredential","token","keychainAccess","Platform","OS","removeCredential","getChallenge","updateChallenge","challengeId","approved","verificationCode","initialize"],"sourceRoot":"../../src","sources":["push.ts"],"mappings":"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"}
@@ -3,4 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
+ exports.KeychainAccess = void 0;
7
+ let KeychainAccess;
8
+ exports.KeychainAccess = KeychainAccess;
9
+ (function (KeychainAccess) {
10
+ KeychainAccess["afterFirstUnlock"] = "afterFirstUnlock";
11
+ KeychainAccess["afterFirstUnlockThisDeviceOnly"] = "afterFirstUnlockThisDeviceOnly";
12
+ KeychainAccess["whenUnlocked"] = "whenUnlocked";
13
+ KeychainAccess["whenUnlockedThisDeviceOnly"] = "whenUnlockedThisDeviceOnly";
14
+ KeychainAccess["whenPasscodeSetThisDeviceOnly"] = "whenPasscodeSetThisDeviceOnly";
15
+ })(KeychainAccess || (exports.KeychainAccess = KeychainAccess = {}));
6
16
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":""}
1
+ {"version":3,"names":["KeychainAccess"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":";;;;;;IA0FYA,cAAc;AAAA;AAAA,WAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;AAAA,GAAdA,cAAc,8BAAdA,cAAc"}
@@ -1,5 +1,5 @@
1
1
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
2
- import { NativeModules } from 'react-native';
2
+ import { NativeModules, Platform } from 'react-native';
3
3
  import { handleErrorCodes, LINKING_ERROR } from './error';
4
4
  let initialized = false;
5
5
  const AuthsignalPushModule = NativeModules.AuthsignalPushModule ? NativeModules.AuthsignalPushModule : new Proxy({}, {
@@ -37,11 +37,12 @@ export class AuthsignalPush {
37
37
  }
38
38
  async addCredential() {
39
39
  let {
40
- token
40
+ token,
41
+ keychainAccess
41
42
  } = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
42
43
  await this.ensureModuleIsInitialized();
43
44
  try {
44
- const data = await AuthsignalPushModule.addCredential(token);
45
+ const data = Platform.OS === 'ios' ? await AuthsignalPushModule.addCredential(token, keychainAccess) : await AuthsignalPushModule.addCredential(token);
45
46
  return {
46
47
  data
47
48
  };
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","handleErrorCodes","LINKING_ERROR","initialized","AuthsignalPushModule","Proxy","get","Error","AuthsignalPush","constructor","tenantID","baseURL","enableLogging","getCredential","ensureModuleIsInitialized","data","ex","console","log","addCredential","token","removeCredential","getChallenge","updateChallenge","challengeId","approved","verificationCode","initialize"],"sourceRoot":"../../src","sources":["push.ts"],"mappings":"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"}
1
+ {"version":3,"names":["NativeModules","Platform","handleErrorCodes","LINKING_ERROR","initialized","AuthsignalPushModule","Proxy","get","Error","AuthsignalPush","constructor","tenantID","baseURL","enableLogging","getCredential","ensureModuleIsInitialized","data","ex","console","log","addCredential","token","keychainAccess","OS","removeCredential","getChallenge","updateChallenge","challengeId","approved","verificationCode","initialize"],"sourceRoot":"../../src","sources":["push.ts"],"mappings":"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"}
@@ -1,2 +1,9 @@
1
- export {};
1
+ export let KeychainAccess;
2
+ (function (KeychainAccess) {
3
+ KeychainAccess["afterFirstUnlock"] = "afterFirstUnlock";
4
+ KeychainAccess["afterFirstUnlockThisDeviceOnly"] = "afterFirstUnlockThisDeviceOnly";
5
+ KeychainAccess["whenUnlocked"] = "whenUnlocked";
6
+ KeychainAccess["whenUnlockedThisDeviceOnly"] = "whenUnlockedThisDeviceOnly";
7
+ KeychainAccess["whenPasscodeSetThisDeviceOnly"] = "whenPasscodeSetThisDeviceOnly";
8
+ })(KeychainAccess || (KeychainAccess = {}));
2
9
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":""}
1
+ {"version":3,"names":["KeychainAccess"],"sourceRoot":"../../src","sources":["types.ts"],"mappings":"AA0FA,WAAYA,cAAc;AAMzB,WANWA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;EAAdA,cAAc;AAAA,GAAdA,cAAc,KAAdA,cAAc"}
@@ -1,4 +1,4 @@
1
- import type { AuthsignalResponse, PushChallenge, PushCredential } from './types';
1
+ import type { AuthsignalResponse, KeychainAccess, PushChallenge, PushCredential } from './types';
2
2
  interface ConstructorArgs {
3
3
  tenantID: string;
4
4
  baseURL: string;
@@ -6,6 +6,7 @@ interface ConstructorArgs {
6
6
  }
7
7
  interface AddCredentialInput {
8
8
  token?: string;
9
+ keychainAccess?: KeychainAccess;
9
10
  }
10
11
  interface UpdateChallengeInput {
11
12
  challengeId: string;
@@ -18,7 +19,7 @@ export declare class AuthsignalPush {
18
19
  enableLogging: boolean;
19
20
  constructor({ tenantID, baseURL, enableLogging }: ConstructorArgs);
20
21
  getCredential(): Promise<AuthsignalResponse<PushCredential>>;
21
- addCredential({ token }?: AddCredentialInput): Promise<AuthsignalResponse<boolean>>;
22
+ addCredential({ token, keychainAccess, }?: AddCredentialInput): Promise<AuthsignalResponse<boolean>>;
22
23
  removeCredential(): Promise<AuthsignalResponse<boolean>>;
23
24
  getChallenge(): Promise<AuthsignalResponse<PushChallenge | undefined>>;
24
25
  updateChallenge({ challengeId, approved, verificationCode, }: UpdateChallengeInput): Promise<AuthsignalResponse<boolean>>;
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/push.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,aAAa,EACb,cAAc,EACf,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,cAAc;IACzB,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,cAAc,CAAC,CAAC;IAgB5D,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,CAAC,kBAAkB,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAgBtE,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":"push.d.ts","sourceRoot":"","sources":["../../src/push.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,cAAc,EACf,MAAM,SAAS,CAAC;AAEjB,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACxB;AAeD,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED,UAAU,oBAAoB;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED,qBAAa,cAAc;IACzB,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,cAAc,CAAC,CAAC;IAgB5D,aAAa,CAAC,EAClB,KAAK,EACL,cAAc,GACf,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAmB3D,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAexD,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAgBtE,eAAe,CAAC,EACpB,WAAW,EACX,QAAQ,EACR,gBAAuB,GACxB,EAAE,oBAAoB,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAoBhD,yBAAyB;CASxC"}
@@ -75,4 +75,11 @@ export interface VerifyDeviceResponse {
75
75
  userAuthenticatorId: string;
76
76
  username?: string;
77
77
  }
78
+ export declare enum KeychainAccess {
79
+ afterFirstUnlock = "afterFirstUnlock",
80
+ afterFirstUnlockThisDeviceOnly = "afterFirstUnlockThisDeviceOnly",
81
+ whenUnlocked = "whenUnlocked",
82
+ whenUnlockedThisDeviceOnly = "whenUnlockedThisDeviceOnly",
83
+ whenPasscodeSetThisDeviceOnly = "whenPasscodeSetThisDeviceOnly"
84
+ }
78
85
  //# 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;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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,SAAS,GAAG,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,YAAY;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE;QACL,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,oBAAY,cAAc;IACxB,gBAAgB,qBAAqB;IACrC,8BAA8B,mCAAmC;IACjE,YAAY,iBAAiB;IAC7B,0BAA0B,+BAA+B;IACzD,6BAA6B,kCAAkC;CAChE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-authsignal",
3
- "version": "1.3.0",
3
+ "version": "1.3.2",
4
4
  "description": "The official Authsignal React Native library.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
package/src/push.ts CHANGED
@@ -1,7 +1,8 @@
1
- import { NativeModules } from 'react-native';
1
+ import { NativeModules, Platform } from 'react-native';
2
2
  import { handleErrorCodes, LINKING_ERROR } from './error';
3
3
  import type {
4
4
  AuthsignalResponse,
5
+ KeychainAccess,
5
6
  PushChallenge,
6
7
  PushCredential,
7
8
  } from './types';
@@ -27,6 +28,7 @@ const AuthsignalPushModule = NativeModules.AuthsignalPushModule
27
28
 
28
29
  interface AddCredentialInput {
29
30
  token?: string;
31
+ keychainAccess?: KeychainAccess;
30
32
  }
31
33
 
32
34
  interface UpdateChallengeInput {
@@ -62,13 +64,17 @@ export class AuthsignalPush {
62
64
  }
63
65
  }
64
66
 
65
- async addCredential({ token }: AddCredentialInput = {}): Promise<
66
- AuthsignalResponse<boolean>
67
- > {
67
+ async addCredential({
68
+ token,
69
+ keychainAccess,
70
+ }: AddCredentialInput = {}): Promise<AuthsignalResponse<boolean>> {
68
71
  await this.ensureModuleIsInitialized();
69
72
 
70
73
  try {
71
- const data = await AuthsignalPushModule.addCredential(token);
74
+ const data =
75
+ Platform.OS === 'ios'
76
+ ? await AuthsignalPushModule.addCredential(token, keychainAccess)
77
+ : await AuthsignalPushModule.addCredential(token);
72
78
 
73
79
  return { data };
74
80
  } catch (ex) {
package/src/types.ts CHANGED
@@ -87,3 +87,11 @@ export interface VerifyDeviceResponse {
87
87
  userAuthenticatorId: string;
88
88
  username?: string;
89
89
  }
90
+
91
+ export enum KeychainAccess {
92
+ afterFirstUnlock = 'afterFirstUnlock',
93
+ afterFirstUnlockThisDeviceOnly = 'afterFirstUnlockThisDeviceOnly',
94
+ whenUnlocked = 'whenUnlocked',
95
+ whenUnlockedThisDeviceOnly = 'whenUnlockedThisDeviceOnly',
96
+ whenPasscodeSetThisDeviceOnly = 'whenPasscodeSetThisDeviceOnly',
97
+ }