react-native-authsignal 1.3.1 → 1.3.3
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/.github/pull_request_template.md +12 -0
- package/.github/release-drafter-config.yml +75 -0
- package/.github/workflows/release-drafter.yml +25 -0
- package/.github/workflows/release-package.yml +1 -1
- package/ios/AuthsignalPushModule.m +2 -0
- package/ios/AuthsignalPushModule.swift +31 -2
- package/lib/commonjs/push.js +4 -2
- package/lib/commonjs/push.js.map +1 -1
- package/lib/commonjs/types.js +10 -0
- package/lib/commonjs/types.js.map +1 -1
- package/lib/module/push.js +5 -3
- package/lib/module/push.js.map +1 -1
- package/lib/module/types.js +8 -1
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/push.d.ts +4 -2
- package/lib/typescript/push.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +7 -0
- package/lib/typescript/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/react-native-authsignal.podspec +1 -1
- package/src/push.ts +17 -5
- package/src/types.ts +8 -0
|
@@ -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 }}
|
|
@@ -12,6 +12,8 @@ RCT_EXTERN_METHOD(getCredential:(RCTPromiseResolveBlock)resolve
|
|
|
12
12
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
13
13
|
|
|
14
14
|
RCT_EXTERN_METHOD(addCredential:(NSString)token
|
|
15
|
+
withRequireUserAuthentication:(BOOL)requireUserAuthentication
|
|
16
|
+
withKeychainAccess:(NSString)keychainAccess
|
|
15
17
|
resolver:(RCTPromiseResolveBlock)resolve
|
|
16
18
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
17
19
|
|
|
@@ -51,6 +51,8 @@ class AuthsignalPushModule: NSObject {
|
|
|
51
51
|
|
|
52
52
|
@objc func addCredential(
|
|
53
53
|
_ token: NSString?,
|
|
54
|
+
withRequireUserAuthentication requireUserAuthentication: Bool,
|
|
55
|
+
withKeychainAccess keychainAccess: NSString,
|
|
54
56
|
resolver resolve: @escaping RCTPromiseResolveBlock,
|
|
55
57
|
rejecter reject: @escaping RCTPromiseRejectBlock
|
|
56
58
|
) -> Void {
|
|
@@ -60,10 +62,15 @@ class AuthsignalPushModule: NSObject {
|
|
|
60
62
|
}
|
|
61
63
|
|
|
62
64
|
let tokenStr = token as String?
|
|
63
|
-
let
|
|
65
|
+
let requireAuthentication = requireUserAuthentication as Bool
|
|
66
|
+
let keychainAccess = getKeychainAccess(value: keychainAccess as String?)
|
|
64
67
|
|
|
65
68
|
Task.init {
|
|
66
|
-
let response = await authsignal.addCredential(
|
|
69
|
+
let response = await authsignal.addCredential(
|
|
70
|
+
token: tokenStr,
|
|
71
|
+
keychainAccess: keychainAccess,
|
|
72
|
+
userPresenceRequired: requireAuthentication
|
|
73
|
+
)
|
|
67
74
|
|
|
68
75
|
if let error = response.error {
|
|
69
76
|
reject(response.errorCode ?? "unexpected_error", error, nil)
|
|
@@ -154,4 +161,26 @@ class AuthsignalPushModule: NSObject {
|
|
|
154
161
|
}
|
|
155
162
|
}
|
|
156
163
|
}
|
|
164
|
+
|
|
165
|
+
func getKeychainAccess(value: String?) -> KeychainAccess {
|
|
166
|
+
switch value {
|
|
167
|
+
case "afterFirstUnlock":
|
|
168
|
+
return .afterFirstUnlock
|
|
169
|
+
|
|
170
|
+
case "afterFirstUnlockThisDeviceOnly":
|
|
171
|
+
return .afterFirstUnlockThisDeviceOnly
|
|
172
|
+
|
|
173
|
+
case "whenUnlocked":
|
|
174
|
+
return .whenUnlocked
|
|
175
|
+
|
|
176
|
+
case "whenUnlockedThisDeviceOnly":
|
|
177
|
+
return .whenUnlockedThisDeviceOnly
|
|
178
|
+
|
|
179
|
+
case "afterFirstUnlock":
|
|
180
|
+
return .whenPasscodeSetThisDeviceOnly
|
|
181
|
+
|
|
182
|
+
default:
|
|
183
|
+
return .whenUnlockedThisDeviceOnly
|
|
184
|
+
}
|
|
185
|
+
}
|
|
157
186
|
}
|
package/lib/commonjs/push.js
CHANGED
|
@@ -43,11 +43,13 @@ class AuthsignalPush {
|
|
|
43
43
|
}
|
|
44
44
|
async addCredential() {
|
|
45
45
|
let {
|
|
46
|
-
token
|
|
46
|
+
token,
|
|
47
|
+
requireUserAuthentication = false,
|
|
48
|
+
keychainAccess
|
|
47
49
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
48
50
|
await this.ensureModuleIsInitialized();
|
|
49
51
|
try {
|
|
50
|
-
const data = await AuthsignalPushModule.addCredential(token);
|
|
52
|
+
const data = _reactNative.Platform.OS === 'ios' ? await AuthsignalPushModule.addCredential(token, requireUserAuthentication, keychainAccess) : await AuthsignalPushModule.addCredential(token);
|
|
51
53
|
return {
|
|
52
54
|
data
|
|
53
55
|
};
|
package/lib/commonjs/push.js.map
CHANGED
|
@@ -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":";;;;;;AAAA;AACA;AAA0D;
|
|
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","requireUserAuthentication","keychainAccess","Platform","OS","removeCredential","getChallenge","updateChallenge","challengeId","approved","verificationCode","initialize"],"sourceRoot":"../../src","sources":["push.ts"],"mappings":"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"}
|
package/lib/commonjs/types.js
CHANGED
|
@@ -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"}
|
package/lib/module/push.js
CHANGED
|
@@ -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,13 @@ export class AuthsignalPush {
|
|
|
37
37
|
}
|
|
38
38
|
async addCredential() {
|
|
39
39
|
let {
|
|
40
|
-
token
|
|
40
|
+
token,
|
|
41
|
+
requireUserAuthentication = false,
|
|
42
|
+
keychainAccess
|
|
41
43
|
} = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
42
44
|
await this.ensureModuleIsInitialized();
|
|
43
45
|
try {
|
|
44
|
-
const data = await AuthsignalPushModule.addCredential(token);
|
|
46
|
+
const data = Platform.OS === 'ios' ? await AuthsignalPushModule.addCredential(token, requireUserAuthentication, keychainAccess) : await AuthsignalPushModule.addCredential(token);
|
|
45
47
|
return {
|
|
46
48
|
data
|
|
47
49
|
};
|
package/lib/module/push.js.map
CHANGED
|
@@ -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":";AAAA,SAASA,aAAa,QAAQ,cAAc;
|
|
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","requireUserAuthentication","keychainAccess","OS","removeCredential","getChallenge","updateChallenge","challengeId","approved","verificationCode","initialize"],"sourceRoot":"../../src","sources":["push.ts"],"mappings":"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"}
|
package/lib/module/types.js
CHANGED
|
@@ -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
|
package/lib/module/types.js.map
CHANGED
|
@@ -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"}
|
package/lib/typescript/push.d.ts
CHANGED
|
@@ -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,8 @@ interface ConstructorArgs {
|
|
|
6
6
|
}
|
|
7
7
|
interface AddCredentialInput {
|
|
8
8
|
token?: string;
|
|
9
|
+
requireUserAuthentication?: boolean;
|
|
10
|
+
keychainAccess?: KeychainAccess;
|
|
9
11
|
}
|
|
10
12
|
interface UpdateChallengeInput {
|
|
11
13
|
challengeId: string;
|
|
@@ -18,7 +20,7 @@ export declare class AuthsignalPush {
|
|
|
18
20
|
enableLogging: boolean;
|
|
19
21
|
constructor({ tenantID, baseURL, enableLogging }: ConstructorArgs);
|
|
20
22
|
getCredential(): Promise<AuthsignalResponse<PushCredential>>;
|
|
21
|
-
addCredential({ token }?: AddCredentialInput): Promise<AuthsignalResponse<boolean>>;
|
|
23
|
+
addCredential({ token, requireUserAuthentication, keychainAccess, }?: AddCredentialInput): Promise<AuthsignalResponse<boolean>>;
|
|
22
24
|
removeCredential(): Promise<AuthsignalResponse<boolean>>;
|
|
23
25
|
getChallenge(): Promise<AuthsignalResponse<PushChallenge | undefined>>;
|
|
24
26
|
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;
|
|
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,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,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,yBAAiC,EACjC,cAAc,GACf,GAAE,kBAAuB,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAuB3D,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
|
@@ -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.2.
|
|
20
|
+
s.dependency 'Authsignal', '1.2.1'
|
|
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/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,8 @@ const AuthsignalPushModule = NativeModules.AuthsignalPushModule
|
|
|
27
28
|
|
|
28
29
|
interface AddCredentialInput {
|
|
29
30
|
token?: string;
|
|
31
|
+
requireUserAuthentication?: boolean;
|
|
32
|
+
keychainAccess?: KeychainAccess;
|
|
30
33
|
}
|
|
31
34
|
|
|
32
35
|
interface UpdateChallengeInput {
|
|
@@ -62,13 +65,22 @@ export class AuthsignalPush {
|
|
|
62
65
|
}
|
|
63
66
|
}
|
|
64
67
|
|
|
65
|
-
async addCredential({
|
|
66
|
-
|
|
67
|
-
|
|
68
|
+
async addCredential({
|
|
69
|
+
token,
|
|
70
|
+
requireUserAuthentication = false,
|
|
71
|
+
keychainAccess,
|
|
72
|
+
}: AddCredentialInput = {}): Promise<AuthsignalResponse<boolean>> {
|
|
68
73
|
await this.ensureModuleIsInitialized();
|
|
69
74
|
|
|
70
75
|
try {
|
|
71
|
-
const data =
|
|
76
|
+
const data =
|
|
77
|
+
Platform.OS === 'ios'
|
|
78
|
+
? await AuthsignalPushModule.addCredential(
|
|
79
|
+
token,
|
|
80
|
+
requireUserAuthentication,
|
|
81
|
+
keychainAccess
|
|
82
|
+
)
|
|
83
|
+
: await AuthsignalPushModule.addCredential(token);
|
|
72
84
|
|
|
73
85
|
return { data };
|
|
74
86
|
} 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
|
+
}
|