react-native-authsignal 0.2.0 → 0.2.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/{LICENSE → LICENSE.md} +3 -2
- package/README.md +1 -21
- package/android/build.gradle +2 -2
- package/android/src/main/java/com/authsignal/react/AuthsignalPasskeyModule.java +14 -2
- package/android/src/main/java/com/authsignal/react/AuthsignalPushModule.java +34 -8
- package/ios/AuthsignalPasskeyModule.swift +34 -7
- package/ios/AuthsignalPushModule.swift +94 -24
- package/lib/commonjs/index.js +24 -3
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/passkey.js +44 -8
- package/lib/commonjs/passkey.js.map +1 -1
- package/lib/commonjs/push.js +84 -6
- package/lib/commonjs/push.js.map +1 -1
- package/lib/commonjs/types.js +2 -0
- package/lib/commonjs/types.js.map +1 -0
- package/lib/module/index.js +9 -3
- package/lib/module/index.js.map +1 -1
- package/lib/module/passkey.js +44 -8
- package/lib/module/passkey.js.map +1 -1
- package/lib/module/push.js +84 -6
- package/lib/module/push.js.map +1 -1
- package/lib/module/types.js +2 -0
- package/lib/module/types.js.map +1 -0
- package/lib/typescript/index.d.ts +4 -2
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/passkey.d.ts +6 -3
- package/lib/typescript/passkey.d.ts.map +1 -1
- package/lib/typescript/push.d.ts +9 -6
- package/lib/typescript/push.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +20 -0
- package/lib/typescript/types.d.ts.map +1 -0
- package/package.json +6 -2
- package/react-native-authsignal.podspec +1 -1
- package/src/index.tsx +8 -2
- package/src/passkey.ts +44 -10
- package/src/push.ts +88 -15
- package/src/types.ts +20 -0
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","getCredential","ensureModuleIsInitialized","addCredential","token","removeCredential","getChallenge","updateChallenge","challengeId","approved","verificationCode","initialize"],"sourceRoot":"../../src","sources":["push.ts"],"mappings":";;;;;;AAAA;AACA;AAAwC;
|
|
1
|
+
{"version":3,"names":["initialized","AuthsignalPushModule","NativeModules","Proxy","get","Error","LINKING_ERROR","AuthsignalPush","constructor","tenantID","baseURL","enableLogging","getCredential","ensureModuleIsInitialized","data","ex","console","log","error","message","addCredential","token","removeCredential","getChallenge","updateChallenge","challengeId","approved","verificationCode","initialize"],"sourceRoot":"../../src","sources":["push.ts"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":""}
|
package/lib/module/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { NativeModules, Platform } from 'react-native';
|
|
|
3
3
|
import { LINKING_ERROR } from './error';
|
|
4
4
|
import { AuthsignalPasskey } from './passkey';
|
|
5
5
|
import { AuthsignalPush } from './push';
|
|
6
|
+
export * from './types';
|
|
6
7
|
const AuthsignalModule = NativeModules.AuthsignalModule ? NativeModules.AuthsignalModule : new Proxy({}, {
|
|
7
8
|
get() {
|
|
8
9
|
throw new Error(LINKING_ERROR);
|
|
@@ -12,21 +13,26 @@ export class Authsignal {
|
|
|
12
13
|
constructor(_ref) {
|
|
13
14
|
let {
|
|
14
15
|
tenantID,
|
|
15
|
-
baseURL = 'https://challenge.authsignal.com/v1'
|
|
16
|
+
baseURL = 'https://challenge.authsignal.com/v1',
|
|
17
|
+
enableLogging = __DEV__
|
|
16
18
|
} = _ref;
|
|
17
19
|
_defineProperty(this, "tenantID", void 0);
|
|
18
20
|
_defineProperty(this, "baseURL", void 0);
|
|
21
|
+
_defineProperty(this, "enableLogging", void 0);
|
|
19
22
|
_defineProperty(this, "passkey", void 0);
|
|
20
23
|
_defineProperty(this, "push", void 0);
|
|
21
24
|
this.tenantID = tenantID;
|
|
22
25
|
this.baseURL = baseURL;
|
|
26
|
+
this.enableLogging = enableLogging;
|
|
23
27
|
this.passkey = new AuthsignalPasskey({
|
|
24
28
|
tenantID,
|
|
25
|
-
baseURL
|
|
29
|
+
baseURL,
|
|
30
|
+
enableLogging
|
|
26
31
|
});
|
|
27
32
|
this.push = new AuthsignalPush({
|
|
28
33
|
tenantID,
|
|
29
|
-
baseURL
|
|
34
|
+
baseURL,
|
|
35
|
+
enableLogging
|
|
30
36
|
});
|
|
31
37
|
}
|
|
32
38
|
}
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","AuthsignalPasskey","AuthsignalPush","AuthsignalModule","Proxy","get","Error","Authsignal","constructor","tenantID","baseURL","passkey","push","launch","url","OS","Promise","resolve","reject","callback","error","token"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SAASC,aAAa,QAAQ,SAAS;AACvC,SAASC,iBAAiB,QAAQ,WAAW;AAC7C,SAASC,cAAc,QAAQ,QAAQ;AAEvC,MAAMC,gBAAgB,GAAGL,aAAa,CAACK,gBAAgB,GACnDL,aAAa,CAACK,gBAAgB,GAC9B,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAK,CAACN,aAAa,CAAC;EAChC;AACF,CAAC,CACF;
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","AuthsignalPasskey","AuthsignalPush","AuthsignalModule","Proxy","get","Error","Authsignal","constructor","tenantID","baseURL","enableLogging","__DEV__","passkey","push","launch","url","OS","Promise","resolve","reject","callback","error","token"],"sourceRoot":"../../src","sources":["index.tsx"],"mappings":";AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SAASC,aAAa,QAAQ,SAAS;AACvC,SAASC,iBAAiB,QAAQ,WAAW;AAC7C,SAASC,cAAc,QAAQ,QAAQ;AAEvC,cAAc,SAAS;AAEvB,MAAMC,gBAAgB,GAAGL,aAAa,CAACK,gBAAgB,GACnDL,aAAa,CAACK,gBAAgB,GAC9B,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAK,CAACN,aAAa,CAAC;EAChC;AACF,CAAC,CACF;AAQL,OAAO,MAAMO,UAAU,CAAC;EAQtBC,WAAW,OAIS;IAAA,IAJR;MACVC,QAAQ;MACRC,OAAO,GAAG,qCAAqC;MAC/CC,aAAa,GAAGC;IACD,CAAC;IAAA;IAAA;IAAA;IAAA;IAAA;IAChB,IAAI,CAACH,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,aAAa,GAAGA,aAAa;IAElC,IAAI,CAACE,OAAO,GAAG,IAAIZ,iBAAiB,CAAC;MAAEQ,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;IAC1E,IAAI,CAACG,IAAI,GAAG,IAAIZ,cAAc,CAAC;MAAEO,QAAQ;MAAEC,OAAO;MAAEC;IAAc,CAAC,CAAC;EACtE;AACF;AAEA,OAAO,SAASI,MAAM,CAACC,GAAW,EAA0B;EAC1D,IAAIjB,QAAQ,CAACkB,EAAE,KAAK,KAAK,EAAE;IACzB,OAAOd,gBAAgB,CAACY,MAAM,CAACC,GAAG,CAAC;EACrC,CAAC,MAAM;IACL,OAAO,IAAIE,OAAO,CAAC,CAACC,OAAO,EAAEC,MAAM,KAAK;MACtC,MAAMC,QAAQ,GAAG,CAACC,KAAU,EAAEC,KAAa,KAAK;QAC9C,IAAIA,KAAK,EAAE;UACTJ,OAAO,CAACI,KAAK,CAAC;QAChB,CAAC,MAAM,IAAID,KAAK,EAAE;UAChB,IAAIA,KAAK,CAACA,KAAK,KAAK,gBAAgB,EAAE;YACpCH,OAAO,CAAC,IAAI,CAAC;UACf,CAAC,MAAM;YACLC,MAAM,CAACE,KAAK,CAAC;UACf;QACF,CAAC,MAAM;UACLF,MAAM,CAAC,kBAAkB,CAAC;QAC5B;MACF,CAAC;MAEDjB,gBAAgB,CAACY,MAAM,CAACC,GAAG,EAAEK,QAAQ,CAAC;IACxC,CAAC,CAAC;EACJ;AACF"}
|
package/lib/module/passkey.js
CHANGED
|
@@ -11,12 +11,15 @@ export class AuthsignalPasskey {
|
|
|
11
11
|
constructor(_ref) {
|
|
12
12
|
let {
|
|
13
13
|
tenantID,
|
|
14
|
-
baseURL
|
|
14
|
+
baseURL,
|
|
15
|
+
enableLogging
|
|
15
16
|
} = _ref;
|
|
16
17
|
_defineProperty(this, "tenantID", void 0);
|
|
17
18
|
_defineProperty(this, "baseURL", void 0);
|
|
19
|
+
_defineProperty(this, "enableLogging", void 0);
|
|
18
20
|
this.tenantID = tenantID;
|
|
19
21
|
this.baseURL = baseURL;
|
|
22
|
+
this.enableLogging = enableLogging;
|
|
20
23
|
}
|
|
21
24
|
async signUp(_ref2) {
|
|
22
25
|
let {
|
|
@@ -24,7 +27,22 @@ export class AuthsignalPasskey {
|
|
|
24
27
|
userName
|
|
25
28
|
} = _ref2;
|
|
26
29
|
await this.ensureModuleIsInitialized();
|
|
27
|
-
|
|
30
|
+
try {
|
|
31
|
+
const data = await AuthsignalPasskeyModule.signUp(token, userName);
|
|
32
|
+
return {
|
|
33
|
+
data
|
|
34
|
+
};
|
|
35
|
+
} catch (ex) {
|
|
36
|
+
if (this.enableLogging) {
|
|
37
|
+
console.log(ex);
|
|
38
|
+
}
|
|
39
|
+
if (ex instanceof Error) {
|
|
40
|
+
return {
|
|
41
|
+
error: ex.message
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
throw ex;
|
|
45
|
+
}
|
|
28
46
|
}
|
|
29
47
|
async signIn(_ref3) {
|
|
30
48
|
let {
|
|
@@ -32,12 +50,30 @@ export class AuthsignalPasskey {
|
|
|
32
50
|
autofill = false
|
|
33
51
|
} = _ref3;
|
|
34
52
|
await this.ensureModuleIsInitialized();
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
53
|
+
try {
|
|
54
|
+
if (Platform.OS === 'ios') {
|
|
55
|
+
const data = await AuthsignalPasskeyModule.signIn(token, autofill);
|
|
56
|
+
return {
|
|
57
|
+
data
|
|
58
|
+
};
|
|
59
|
+
} else if (!autofill) {
|
|
60
|
+
const data = await AuthsignalPasskeyModule.signIn(token);
|
|
61
|
+
return {
|
|
62
|
+
data
|
|
63
|
+
};
|
|
64
|
+
} else {
|
|
65
|
+
throw new Error('autofill is only supported on iOS');
|
|
66
|
+
}
|
|
67
|
+
} catch (ex) {
|
|
68
|
+
if (this.enableLogging && !autofill) {
|
|
69
|
+
console.log(ex);
|
|
70
|
+
}
|
|
71
|
+
if (ex instanceof Error) {
|
|
72
|
+
return {
|
|
73
|
+
error: ex.message
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
throw ex;
|
|
41
77
|
}
|
|
42
78
|
}
|
|
43
79
|
cancel() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","initialized","AuthsignalPasskeyModule","Proxy","get","Error","AuthsignalPasskey","constructor","tenantID","baseURL","signUp","token","userName","ensureModuleIsInitialized","signIn","autofill","OS","
|
|
1
|
+
{"version":3,"names":["NativeModules","Platform","LINKING_ERROR","initialized","AuthsignalPasskeyModule","Proxy","get","Error","AuthsignalPasskey","constructor","tenantID","baseURL","enableLogging","signUp","token","userName","ensureModuleIsInitialized","data","ex","console","log","error","message","signIn","autofill","OS","cancel","initialize"],"sourceRoot":"../../src","sources":["passkey.ts"],"mappings":";AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,SAASC,aAAa,QAAQ,SAAS;AAmBvC,IAAIC,WAAW,GAAG,KAAK;AAEvB,MAAMC,uBAAuB,GAAGJ,aAAa,CAACI,uBAAuB,GACjEJ,aAAa,CAACI,uBAAuB,GACrC,IAAIC,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAK,CAACL,aAAa,CAAC;EAChC;AACF,CAAC,CACF;AAEL,OAAO,MAAMM,iBAAiB,CAAC;EAK7BC,WAAW,OAAwD;IAAA,IAAvD;MAAEC,QAAQ;MAAEC,OAAO;MAAEC;IAA+B,CAAC;IAAA;IAAA;IAAA;IAC/D,IAAI,CAACF,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,aAAa,GAAGA,aAAa;EACpC;EAEA,MAAMC,MAAM,QAGgD;IAAA,IAH/C;MACXC,KAAK;MACLC;IACkB,CAAC;IACnB,MAAM,IAAI,CAACC,yBAAyB,EAAE;IAEtC,IAAI;MACF,MAAMC,IAAI,GAAG,MAAMb,uBAAuB,CAACS,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC;MAElE,OAAO;QAAEE;MAAK,CAAC;IACjB,CAAC,CAAC,OAAOC,EAAE,EAAE;MACX,IAAI,IAAI,CAACN,aAAa,EAAE;QACtBO,OAAO,CAACC,GAAG,CAACF,EAAE,CAAC;MACjB;MAEA,IAAIA,EAAE,YAAYX,KAAK,EAAE;QACvB,OAAO;UAAEc,KAAK,EAAEH,EAAE,CAACI;QAAQ,CAAC;MAC9B;MAEA,MAAMJ,EAAE;IACV;EACF;EAEA,MAAMK,MAAM,QAGgD;IAAA,IAH/C;MACXT,KAAK;MACLU,QAAQ,GAAG;IACO,CAAC;IACnB,MAAM,IAAI,CAACR,yBAAyB,EAAE;IAEtC,IAAI;MACF,IAAIf,QAAQ,CAACwB,EAAE,KAAK,KAAK,EAAE;QACzB,MAAMR,IAAI,GAAG,MAAMb,uBAAuB,CAACmB,MAAM,CAACT,KAAK,EAAEU,QAAQ,CAAC;QAElE,OAAO;UAAEP;QAAK,CAAC;MACjB,CAAC,MAAM,IAAI,CAACO,QAAQ,EAAE;QACpB,MAAMP,IAAI,GAAG,MAAMb,uBAAuB,CAACmB,MAAM,CAACT,KAAK,CAAC;QAExD,OAAO;UAAEG;QAAK,CAAC;MACjB,CAAC,MAAM;QACL,MAAM,IAAIV,KAAK,CAAC,mCAAmC,CAAC;MACtD;IACF,CAAC,CAAC,OAAOW,EAAE,EAAE;MACX,IAAI,IAAI,CAACN,aAAa,IAAI,CAACY,QAAQ,EAAE;QACnCL,OAAO,CAACC,GAAG,CAACF,EAAE,CAAC;MACjB;MAEA,IAAIA,EAAE,YAAYX,KAAK,EAAE;QACvB,OAAO;UAAEc,KAAK,EAAEH,EAAE,CAACI;QAAQ,CAAC;MAC9B;MAEA,MAAMJ,EAAE;IACV;EACF;EAEAQ,MAAM,GAAG;IACP,IAAIzB,QAAQ,CAACwB,EAAE,KAAK,KAAK,EAAE;MACzBrB,uBAAuB,CAACsB,MAAM,EAAE;IAClC;EACF;EAEA,MAAcV,yBAAyB,GAAG;IACxC,IAAIb,WAAW,EAAE;MACf;IACF;IAEA,MAAMC,uBAAuB,CAACuB,UAAU,CAAC,IAAI,CAACjB,QAAQ,EAAE,IAAI,CAACC,OAAO,CAAC;IAErER,WAAW,GAAG,IAAI;EACpB;AACF"}
|
package/lib/module/push.js
CHANGED
|
@@ -11,32 +11,110 @@ export class AuthsignalPush {
|
|
|
11
11
|
constructor(_ref) {
|
|
12
12
|
let {
|
|
13
13
|
tenantID,
|
|
14
|
-
baseURL
|
|
14
|
+
baseURL,
|
|
15
|
+
enableLogging
|
|
15
16
|
} = _ref;
|
|
16
17
|
_defineProperty(this, "tenantID", void 0);
|
|
17
18
|
_defineProperty(this, "baseURL", void 0);
|
|
19
|
+
_defineProperty(this, "enableLogging", void 0);
|
|
18
20
|
this.tenantID = tenantID;
|
|
19
21
|
this.baseURL = baseURL;
|
|
22
|
+
this.enableLogging = enableLogging;
|
|
20
23
|
}
|
|
21
24
|
async getCredential() {
|
|
22
25
|
await this.ensureModuleIsInitialized();
|
|
23
|
-
|
|
26
|
+
try {
|
|
27
|
+
const data = await AuthsignalPushModule.getCredential();
|
|
28
|
+
return {
|
|
29
|
+
data
|
|
30
|
+
};
|
|
31
|
+
} catch (ex) {
|
|
32
|
+
if (this.enableLogging) {
|
|
33
|
+
console.log(ex);
|
|
34
|
+
}
|
|
35
|
+
if (ex instanceof Error) {
|
|
36
|
+
return {
|
|
37
|
+
error: ex.message
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
throw ex;
|
|
41
|
+
}
|
|
24
42
|
}
|
|
25
43
|
async addCredential(token) {
|
|
26
44
|
await this.ensureModuleIsInitialized();
|
|
27
|
-
|
|
45
|
+
try {
|
|
46
|
+
const data = await AuthsignalPushModule.addCredential(token);
|
|
47
|
+
return {
|
|
48
|
+
data
|
|
49
|
+
};
|
|
50
|
+
} catch (ex) {
|
|
51
|
+
if (this.enableLogging) {
|
|
52
|
+
console.log(ex);
|
|
53
|
+
}
|
|
54
|
+
if (ex instanceof Error) {
|
|
55
|
+
return {
|
|
56
|
+
error: ex.message
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
throw ex;
|
|
60
|
+
}
|
|
28
61
|
}
|
|
29
62
|
async removeCredential() {
|
|
30
63
|
await this.ensureModuleIsInitialized();
|
|
31
|
-
|
|
64
|
+
try {
|
|
65
|
+
const data = await AuthsignalPushModule.removeCredential();
|
|
66
|
+
return {
|
|
67
|
+
data
|
|
68
|
+
};
|
|
69
|
+
} catch (ex) {
|
|
70
|
+
if (this.enableLogging) {
|
|
71
|
+
console.log(ex);
|
|
72
|
+
}
|
|
73
|
+
if (ex instanceof Error) {
|
|
74
|
+
return {
|
|
75
|
+
error: ex.message
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
throw ex;
|
|
79
|
+
}
|
|
32
80
|
}
|
|
33
81
|
async getChallenge() {
|
|
34
82
|
await this.ensureModuleIsInitialized();
|
|
35
|
-
|
|
83
|
+
try {
|
|
84
|
+
const data = await AuthsignalPushModule.getChallenge();
|
|
85
|
+
return {
|
|
86
|
+
data
|
|
87
|
+
};
|
|
88
|
+
} catch (ex) {
|
|
89
|
+
if (this.enableLogging) {
|
|
90
|
+
console.log(ex);
|
|
91
|
+
}
|
|
92
|
+
if (ex instanceof Error) {
|
|
93
|
+
return {
|
|
94
|
+
error: ex.message
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
throw ex;
|
|
98
|
+
}
|
|
36
99
|
}
|
|
37
100
|
async updateChallenge(challengeId, approved, verificationCode) {
|
|
38
101
|
await this.ensureModuleIsInitialized();
|
|
39
|
-
|
|
102
|
+
try {
|
|
103
|
+
const data = await NativeModules.updateChallenge(challengeId, approved, verificationCode);
|
|
104
|
+
return {
|
|
105
|
+
data
|
|
106
|
+
};
|
|
107
|
+
} catch (ex) {
|
|
108
|
+
if (this.enableLogging) {
|
|
109
|
+
console.log(ex);
|
|
110
|
+
}
|
|
111
|
+
if (ex instanceof Error) {
|
|
112
|
+
return {
|
|
113
|
+
error: ex.message
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
throw ex;
|
|
117
|
+
}
|
|
40
118
|
}
|
|
41
119
|
async ensureModuleIsInitialized() {
|
|
42
120
|
if (initialized) {
|
package/lib/module/push.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeModules","LINKING_ERROR","initialized","AuthsignalPushModule","Proxy","get","Error","AuthsignalPush","constructor","tenantID","baseURL","getCredential","ensureModuleIsInitialized","addCredential","token","removeCredential","getChallenge","updateChallenge","challengeId","approved","verificationCode","initialize"],"sourceRoot":"../../src","sources":["push.ts"],"mappings":";AAAA,SAASA,aAAa,QAAQ,cAAc;AAC5C,SAASC,aAAa,QAAQ,SAAS;
|
|
1
|
+
{"version":3,"names":["NativeModules","LINKING_ERROR","initialized","AuthsignalPushModule","Proxy","get","Error","AuthsignalPush","constructor","tenantID","baseURL","enableLogging","getCredential","ensureModuleIsInitialized","data","ex","console","log","error","message","addCredential","token","removeCredential","getChallenge","updateChallenge","challengeId","approved","verificationCode","initialize"],"sourceRoot":"../../src","sources":["push.ts"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["types.ts"],"mappings":""}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
import { AuthsignalPasskey } from './passkey';
|
|
2
2
|
import { AuthsignalPush } from './push';
|
|
3
|
+
export * from './types';
|
|
3
4
|
interface ConstructorArgs {
|
|
4
5
|
tenantID: string;
|
|
5
6
|
baseURL?: string;
|
|
7
|
+
enableLogging?: boolean;
|
|
6
8
|
}
|
|
7
9
|
export declare class Authsignal {
|
|
8
10
|
tenantID: string;
|
|
9
11
|
baseURL: string;
|
|
12
|
+
enableLogging: boolean;
|
|
10
13
|
passkey: AuthsignalPasskey;
|
|
11
14
|
push: AuthsignalPush;
|
|
12
|
-
constructor({ tenantID, baseURL, }: ConstructorArgs);
|
|
15
|
+
constructor({ tenantID, baseURL, enableLogging, }: ConstructorArgs);
|
|
13
16
|
}
|
|
14
17
|
export declare function launch(url: string): Promise<string | null>;
|
|
15
|
-
export {};
|
|
16
18
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAExC,cAAc,SAAS,CAAC;AAaxB,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,qBAAa,UAAU;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IAEvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,IAAI,EAAE,cAAc,CAAC;gBAET,EACV,QAAQ,EACR,OAA+C,EAC/C,aAAuB,GACxB,EAAE,eAAe;CAQnB;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsB1D"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import type { AuthsignalResponse } from './types';
|
|
1
2
|
interface ConstructorArgs {
|
|
2
3
|
tenantID: string;
|
|
3
4
|
baseURL: string;
|
|
5
|
+
enableLogging: boolean;
|
|
4
6
|
}
|
|
5
7
|
interface PasskeySignUpInput {
|
|
6
8
|
token: string;
|
|
@@ -13,9 +15,10 @@ interface PasskeySignInInput {
|
|
|
13
15
|
export declare class AuthsignalPasskey {
|
|
14
16
|
tenantID: string;
|
|
15
17
|
baseURL: string;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
enableLogging: boolean;
|
|
19
|
+
constructor({ tenantID, baseURL, enableLogging }: ConstructorArgs);
|
|
20
|
+
signUp({ token, userName, }: PasskeySignUpInput): Promise<AuthsignalResponse<string>>;
|
|
21
|
+
signIn({ token, autofill, }: PasskeySignInInput): Promise<AuthsignalResponse<string>>;
|
|
19
22
|
cancel(): void;
|
|
20
23
|
private ensureModuleIsInitialized;
|
|
21
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passkey.d.ts","sourceRoot":"","sources":["../../src/passkey.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"passkey.d.ts","sourceRoot":"","sources":["../../src/passkey.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,kBAAkB;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,kBAAkB;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAeD,qBAAa,iBAAiB;IAC5B,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,MAAM,CAAC,EACX,KAAK,EACL,QAAQ,GACT,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAoBrD,MAAM,CAAC,EACX,KAAK,EACL,QAAgB,GACjB,EAAE,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IA4B3D,MAAM;YAMQ,yBAAyB;CASxC"}
|
package/lib/typescript/push.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import type { AuthsignalResponse } from './types';
|
|
1
2
|
interface ConstructorArgs {
|
|
2
3
|
tenantID: string;
|
|
3
4
|
baseURL: string;
|
|
5
|
+
enableLogging: boolean;
|
|
4
6
|
}
|
|
5
7
|
interface PushCredential {
|
|
6
8
|
credentialID: string;
|
|
@@ -10,12 +12,13 @@ interface PushCredential {
|
|
|
10
12
|
export declare class AuthsignalPush {
|
|
11
13
|
tenantID: string;
|
|
12
14
|
baseURL: string;
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
enableLogging: boolean;
|
|
16
|
+
constructor({ tenantID, baseURL, enableLogging }: ConstructorArgs);
|
|
17
|
+
getCredential(): Promise<AuthsignalResponse<PushCredential>>;
|
|
18
|
+
addCredential(token: string): Promise<AuthsignalResponse<boolean>>;
|
|
19
|
+
removeCredential(): Promise<AuthsignalResponse<boolean>>;
|
|
20
|
+
getChallenge(): Promise<AuthsignalResponse<string>>;
|
|
21
|
+
updateChallenge(challengeId: string, approved: boolean, verificationCode: string | null): Promise<AuthsignalResponse<boolean>>;
|
|
19
22
|
private ensureModuleIsInitialized;
|
|
20
23
|
}
|
|
21
24
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/push.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/push.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,cAAc;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;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;IAoB5D,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAoBlE,gBAAgB,IAAI,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAmBxD,YAAY,IAAI,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAoBnD,eAAe,CACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,EACjB,gBAAgB,EAAE,MAAM,GAAG,IAAI,GAC9B,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;YAwBzB,yBAAyB;CASxC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface AuthsignalResponse<T> {
|
|
2
|
+
data?: T;
|
|
3
|
+
error?: string;
|
|
4
|
+
}
|
|
5
|
+
export interface TokenPayload {
|
|
6
|
+
aud: string;
|
|
7
|
+
exp: number;
|
|
8
|
+
iat: number;
|
|
9
|
+
other: {
|
|
10
|
+
actionCode: string;
|
|
11
|
+
idempotencyKey: string;
|
|
12
|
+
publishableKey: string;
|
|
13
|
+
tenantId: string;
|
|
14
|
+
userId: string;
|
|
15
|
+
username: string;
|
|
16
|
+
};
|
|
17
|
+
scope?: string;
|
|
18
|
+
sub: string;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-authsignal",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2",
|
|
4
4
|
"description": "The official Authsignal React Native library.",
|
|
5
5
|
"main": "lib/commonjs/index",
|
|
6
6
|
"module": "lib/module/index",
|
|
@@ -34,7 +34,11 @@
|
|
|
34
34
|
"keywords": [
|
|
35
35
|
"react-native",
|
|
36
36
|
"ios",
|
|
37
|
-
"android"
|
|
37
|
+
"android",
|
|
38
|
+
"passkeys",
|
|
39
|
+
"auth",
|
|
40
|
+
"authentication",
|
|
41
|
+
"mfa"
|
|
38
42
|
],
|
|
39
43
|
"repository": "https://github.com/authsignal/react-native-authsignal.git",
|
|
40
44
|
"author": "Authsignal <support@authsignal.com> (https://www.authsignal.com)",
|
|
@@ -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', '0.1.
|
|
20
|
+
s.dependency 'Authsignal', '0.1.10'
|
|
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/index.tsx
CHANGED
|
@@ -3,6 +3,8 @@ import { LINKING_ERROR } from './error';
|
|
|
3
3
|
import { AuthsignalPasskey } from './passkey';
|
|
4
4
|
import { AuthsignalPush } from './push';
|
|
5
5
|
|
|
6
|
+
export * from './types';
|
|
7
|
+
|
|
6
8
|
const AuthsignalModule = NativeModules.AuthsignalModule
|
|
7
9
|
? NativeModules.AuthsignalModule
|
|
8
10
|
: new Proxy(
|
|
@@ -17,11 +19,13 @@ const AuthsignalModule = NativeModules.AuthsignalModule
|
|
|
17
19
|
interface ConstructorArgs {
|
|
18
20
|
tenantID: string;
|
|
19
21
|
baseURL?: string;
|
|
22
|
+
enableLogging?: boolean;
|
|
20
23
|
}
|
|
21
24
|
|
|
22
25
|
export class Authsignal {
|
|
23
26
|
tenantID: string;
|
|
24
27
|
baseURL: string;
|
|
28
|
+
enableLogging: boolean;
|
|
25
29
|
|
|
26
30
|
passkey: AuthsignalPasskey;
|
|
27
31
|
push: AuthsignalPush;
|
|
@@ -29,12 +33,14 @@ export class Authsignal {
|
|
|
29
33
|
constructor({
|
|
30
34
|
tenantID,
|
|
31
35
|
baseURL = 'https://challenge.authsignal.com/v1',
|
|
36
|
+
enableLogging = __DEV__,
|
|
32
37
|
}: ConstructorArgs) {
|
|
33
38
|
this.tenantID = tenantID;
|
|
34
39
|
this.baseURL = baseURL;
|
|
40
|
+
this.enableLogging = enableLogging;
|
|
35
41
|
|
|
36
|
-
this.passkey = new AuthsignalPasskey({ tenantID, baseURL });
|
|
37
|
-
this.push = new AuthsignalPush({ tenantID, baseURL });
|
|
42
|
+
this.passkey = new AuthsignalPasskey({ tenantID, baseURL, enableLogging });
|
|
43
|
+
this.push = new AuthsignalPush({ tenantID, baseURL, enableLogging });
|
|
38
44
|
}
|
|
39
45
|
}
|
|
40
46
|
|
package/src/passkey.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { NativeModules, Platform } from 'react-native';
|
|
2
2
|
import { LINKING_ERROR } from './error';
|
|
3
|
+
import type { AuthsignalResponse } from './types';
|
|
3
4
|
|
|
4
5
|
interface ConstructorArgs {
|
|
5
6
|
tenantID: string;
|
|
6
7
|
baseURL: string;
|
|
8
|
+
enableLogging: boolean;
|
|
7
9
|
}
|
|
8
10
|
|
|
9
11
|
interface PasskeySignUpInput {
|
|
@@ -32,33 +34,65 @@ const AuthsignalPasskeyModule = NativeModules.AuthsignalPasskeyModule
|
|
|
32
34
|
export class AuthsignalPasskey {
|
|
33
35
|
tenantID: string;
|
|
34
36
|
baseURL: string;
|
|
37
|
+
enableLogging: boolean;
|
|
35
38
|
|
|
36
|
-
constructor({ tenantID, baseURL }: ConstructorArgs) {
|
|
39
|
+
constructor({ tenantID, baseURL, enableLogging }: ConstructorArgs) {
|
|
37
40
|
this.tenantID = tenantID;
|
|
38
41
|
this.baseURL = baseURL;
|
|
42
|
+
this.enableLogging = enableLogging;
|
|
39
43
|
}
|
|
40
44
|
|
|
41
45
|
async signUp({
|
|
42
46
|
token,
|
|
43
47
|
userName,
|
|
44
|
-
}: PasskeySignUpInput): Promise<string
|
|
48
|
+
}: PasskeySignUpInput): Promise<AuthsignalResponse<string>> {
|
|
45
49
|
await this.ensureModuleIsInitialized();
|
|
46
50
|
|
|
47
|
-
|
|
51
|
+
try {
|
|
52
|
+
const data = await AuthsignalPasskeyModule.signUp(token, userName);
|
|
53
|
+
|
|
54
|
+
return { data };
|
|
55
|
+
} catch (ex) {
|
|
56
|
+
if (this.enableLogging) {
|
|
57
|
+
console.log(ex);
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
if (ex instanceof Error) {
|
|
61
|
+
return { error: ex.message };
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
throw ex;
|
|
65
|
+
}
|
|
48
66
|
}
|
|
49
67
|
|
|
50
68
|
async signIn({
|
|
51
69
|
token,
|
|
52
70
|
autofill = false,
|
|
53
|
-
}: PasskeySignInInput): Promise<string
|
|
71
|
+
}: PasskeySignInInput): Promise<AuthsignalResponse<string>> {
|
|
54
72
|
await this.ensureModuleIsInitialized();
|
|
55
73
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
74
|
+
try {
|
|
75
|
+
if (Platform.OS === 'ios') {
|
|
76
|
+
const data = await AuthsignalPasskeyModule.signIn(token, autofill);
|
|
77
|
+
|
|
78
|
+
return { data };
|
|
79
|
+
} else if (!autofill) {
|
|
80
|
+
const data = await AuthsignalPasskeyModule.signIn(token);
|
|
81
|
+
|
|
82
|
+
return { data };
|
|
83
|
+
} else {
|
|
84
|
+
throw new Error('autofill is only supported on iOS');
|
|
85
|
+
}
|
|
86
|
+
} catch (ex) {
|
|
87
|
+
if (this.enableLogging && !autofill) {
|
|
88
|
+
console.log(ex);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
if (ex instanceof Error) {
|
|
92
|
+
return { error: ex.message };
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
throw ex;
|
|
62
96
|
}
|
|
63
97
|
}
|
|
64
98
|
|