react-native-authsignal 2.3.8 → 2.5.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.
Files changed (50) hide show
  1. package/android/build.gradle +1 -1
  2. package/lib/commonjs/email.web.js +93 -0
  3. package/lib/commonjs/email.web.js.map +1 -0
  4. package/lib/commonjs/error.web.js +22 -0
  5. package/lib/commonjs/error.web.js.map +1 -0
  6. package/lib/commonjs/index.web.js +101 -0
  7. package/lib/commonjs/index.web.js.map +1 -0
  8. package/lib/commonjs/passkey.web.js +118 -0
  9. package/lib/commonjs/passkey.web.js.map +1 -0
  10. package/lib/commonjs/sms.web.js +93 -0
  11. package/lib/commonjs/sms.web.js.map +1 -0
  12. package/lib/commonjs/totp.web.js +79 -0
  13. package/lib/commonjs/totp.web.js.map +1 -0
  14. package/lib/commonjs/web-client.js +27 -0
  15. package/lib/commonjs/web-client.js.map +1 -0
  16. package/lib/commonjs/whatsapp.web.js +74 -0
  17. package/lib/commonjs/whatsapp.web.js.map +1 -0
  18. package/lib/module/email.web.js +86 -0
  19. package/lib/module/email.web.js.map +1 -0
  20. package/lib/module/error.web.js +15 -0
  21. package/lib/module/error.web.js.map +1 -0
  22. package/lib/module/index.web.js +71 -0
  23. package/lib/module/index.web.js.map +1 -0
  24. package/lib/module/passkey.web.js +111 -0
  25. package/lib/module/passkey.web.js.map +1 -0
  26. package/lib/module/sms.web.js +86 -0
  27. package/lib/module/sms.web.js.map +1 -0
  28. package/lib/module/totp.web.js +72 -0
  29. package/lib/module/totp.web.js.map +1 -0
  30. package/lib/module/web-client.js +21 -0
  31. package/lib/module/web-client.js.map +1 -0
  32. package/lib/module/whatsapp.web.js +67 -0
  33. package/lib/module/whatsapp.web.js.map +1 -0
  34. package/lib/typescript/email.web.d.ts +22 -0
  35. package/lib/typescript/email.web.d.ts.map +1 -0
  36. package/lib/typescript/error.web.d.ts +12 -0
  37. package/lib/typescript/error.web.d.ts.map +1 -0
  38. package/lib/typescript/index.web.d.ts +28 -0
  39. package/lib/typescript/index.web.d.ts.map +1 -0
  40. package/lib/typescript/passkey.web.d.ts +33 -0
  41. package/lib/typescript/passkey.web.d.ts.map +1 -0
  42. package/lib/typescript/sms.web.d.ts +22 -0
  43. package/lib/typescript/sms.web.d.ts.map +1 -0
  44. package/lib/typescript/totp.web.d.ts +22 -0
  45. package/lib/typescript/totp.web.d.ts.map +1 -0
  46. package/lib/typescript/web-client.d.ts +9 -0
  47. package/lib/typescript/web-client.d.ts.map +1 -0
  48. package/lib/typescript/whatsapp.web.d.ts +18 -0
  49. package/lib/typescript/whatsapp.web.d.ts.map +1 -0
  50. package/package.json +10 -1
@@ -0,0 +1,86 @@
1
+ import { getOrCreateWebClient } from './web-client';
2
+ import { handleErrorCodes } from './error';
3
+ export class AuthsignalEmail {
4
+ constructor({
5
+ tenantID,
6
+ baseURL,
7
+ enableLogging
8
+ }) {
9
+ this.tenantID = tenantID;
10
+ this.baseURL = baseURL;
11
+ this.enableLogging = enableLogging;
12
+ }
13
+ async enroll({
14
+ email
15
+ }) {
16
+ try {
17
+ const client = this.getClient();
18
+ const result = await client.email.enroll({
19
+ email
20
+ });
21
+ if (result.errorCode) {
22
+ return {
23
+ error: result.errorDescription ?? result.error,
24
+ errorCode: result.errorCode
25
+ };
26
+ }
27
+ return {};
28
+ } catch (ex) {
29
+ return this.handleError(ex);
30
+ }
31
+ }
32
+ async challenge() {
33
+ try {
34
+ const client = this.getClient();
35
+ const result = await client.email.challenge();
36
+ if (result.errorCode) {
37
+ return {
38
+ error: result.errorDescription ?? result.error,
39
+ errorCode: result.errorCode
40
+ };
41
+ }
42
+ return {};
43
+ } catch (ex) {
44
+ return this.handleError(ex);
45
+ }
46
+ }
47
+ async verify({
48
+ code
49
+ }) {
50
+ try {
51
+ const client = this.getClient();
52
+ const result = await client.email.verify({
53
+ code
54
+ });
55
+ if (result.errorCode) {
56
+ return {
57
+ error: result.errorDescription ?? result.error,
58
+ errorCode: result.errorCode
59
+ };
60
+ }
61
+ return {
62
+ data: result.data ? {
63
+ isVerified: result.data.isVerified,
64
+ token: result.data.token,
65
+ failureReason: result.data.failureReason
66
+ } : undefined
67
+ };
68
+ } catch (ex) {
69
+ return this.handleError(ex);
70
+ }
71
+ }
72
+ getClient() {
73
+ return getOrCreateWebClient({
74
+ tenantID: this.tenantID,
75
+ baseURL: this.baseURL,
76
+ enableLogging: this.enableLogging
77
+ });
78
+ }
79
+ handleError(ex) {
80
+ if (this.enableLogging) {
81
+ console.log(ex);
82
+ }
83
+ return handleErrorCodes(ex);
84
+ }
85
+ }
86
+ //# sourceMappingURL=email.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getOrCreateWebClient","handleErrorCodes","AuthsignalEmail","constructor","tenantID","baseURL","enableLogging","enroll","email","client","getClient","result","errorCode","error","errorDescription","ex","handleError","challenge","verify","code","data","isVerified","token","failureReason","undefined","console","log"],"sourceRoot":"../../src","sources":["email.web.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ export let ErrorCode;
2
+ (function (ErrorCode) {
3
+ ErrorCode["token_not_set"] = "token_not_set";
4
+ ErrorCode["token_required"] = "token_required";
5
+ ErrorCode["token_invalid"] = "token_invalid";
6
+ })(ErrorCode || (ErrorCode = {}));
7
+ export function handleErrorCodes(ex) {
8
+ const message = (ex === null || ex === void 0 ? void 0 : ex.errorDescription) ?? (ex === null || ex === void 0 ? void 0 : ex.message) ?? (ex === null || ex === void 0 ? void 0 : ex.error) ?? String(ex);
9
+ const code = (ex === null || ex === void 0 ? void 0 : ex.errorCode) ?? (ex === null || ex === void 0 ? void 0 : ex.code) ?? undefined;
10
+ return {
11
+ error: message,
12
+ errorCode: code
13
+ };
14
+ }
15
+ //# sourceMappingURL=error.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ErrorCode","handleErrorCodes","ex","message","errorDescription","error","String","code","errorCode","undefined"],"sourceRoot":"../../src","sources":["error.web.ts"],"mappings":"AAAA,WAAYA,SAAS;AAIpB,WAJWA,SAAS;EAATA,SAAS;EAATA,SAAS;EAATA,SAAS;AAAA,GAATA,SAAS,KAATA,SAAS;AAMrB,OAAO,SAASC,gBAAgBA,CAACC,EAAO,EAAE;EACxC,MAAMC,OAAO,GACX,CAAAD,EAAE,aAAFA,EAAE,uBAAFA,EAAE,CAAEE,gBAAgB,MAAIF,EAAE,aAAFA,EAAE,uBAAFA,EAAE,CAAEC,OAAO,MAAID,EAAE,aAAFA,EAAE,uBAAFA,EAAE,CAAEG,KAAK,KAAIC,MAAM,CAACJ,EAAE,CAAC;EAChE,MAAMK,IAAI,GAAG,CAAAL,EAAE,aAAFA,EAAE,uBAAFA,EAAE,CAAEM,SAAS,MAAIN,EAAE,aAAFA,EAAE,uBAAFA,EAAE,CAAEK,IAAI,KAAIE,SAAS;EAEnD,OAAO;IACLJ,KAAK,EAAEF,OAAO;IACdK,SAAS,EAAED;EACb,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ import { getOrCreateWebClient } from './web-client';
2
+ import { AuthsignalEmail } from './email';
3
+ import { AuthsignalPasskey } from './passkey';
4
+ import { AuthsignalSms } from './sms';
5
+ import { AuthsignalTotp } from './totp';
6
+ import { AuthsignalWhatsapp } from './whatsapp';
7
+ export * from './types';
8
+ export { ErrorCode } from './error';
9
+ let _lastClient = null;
10
+ export class Authsignal {
11
+ constructor({
12
+ tenantID,
13
+ baseURL = 'https://api.authsignal.com/v1',
14
+ deviceID,
15
+ enableLogging = false
16
+ }) {
17
+ this.tenantID = tenantID;
18
+ this.baseURL = baseURL;
19
+ this.enableLogging = enableLogging;
20
+ _lastClient = {
21
+ tenantID,
22
+ baseURL,
23
+ enableLogging
24
+ };
25
+ const input = {
26
+ tenantID,
27
+ baseURL,
28
+ enableLogging
29
+ };
30
+ this.passkey = new AuthsignalPasskey({
31
+ ...input,
32
+ deviceID
33
+ });
34
+ this.email = new AuthsignalEmail(input);
35
+ this.sms = new AuthsignalSms(input);
36
+ this.totp = new AuthsignalTotp(input);
37
+ this.whatsapp = new AuthsignalWhatsapp(input);
38
+ }
39
+ async setToken(token) {
40
+ const client = getOrCreateWebClient({
41
+ tenantID: this.tenantID,
42
+ baseURL: this.baseURL,
43
+ enableLogging: this.enableLogging
44
+ });
45
+ client.setToken(token);
46
+ }
47
+ async launch(url) {
48
+ return await launch(url);
49
+ }
50
+ }
51
+ export function launch(url) {
52
+ if (_lastClient) {
53
+ const client = getOrCreateWebClient({
54
+ tenantID: _lastClient.tenantID,
55
+ baseURL: _lastClient.baseURL,
56
+ enableLogging: _lastClient.enableLogging
57
+ });
58
+ return client.launch(url, {
59
+ mode: 'popup'
60
+ }).then(result => {
61
+ return (result === null || result === void 0 ? void 0 : result.token) ?? null;
62
+ });
63
+ }
64
+
65
+ // Fallback if no Authsignal instance has been created yet
66
+ if (typeof window !== 'undefined') {
67
+ window.open(url, '_blank');
68
+ }
69
+ return Promise.resolve(null);
70
+ }
71
+ //# sourceMappingURL=index.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getOrCreateWebClient","AuthsignalEmail","AuthsignalPasskey","AuthsignalSms","AuthsignalTotp","AuthsignalWhatsapp","ErrorCode","_lastClient","Authsignal","constructor","tenantID","baseURL","deviceID","enableLogging","input","passkey","email","sms","totp","whatsapp","setToken","token","client","launch","url","mode","then","result","window","open","Promise","resolve"],"sourceRoot":"../../src","sources":["index.web.tsx"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,cAAc;AACnD,SAASC,eAAe,QAAQ,SAAS;AACzC,SAASC,iBAAiB,QAAQ,WAAW;AAC7C,SAASC,aAAa,QAAQ,OAAO;AACrC,SAASC,cAAc,QAAQ,QAAQ;AACvC,SAASC,kBAAkB,QAAQ,YAAY;AAE/C,cAAc,SAAS;AACvB,SAASC,SAAS,QAAQ,SAAS;AASnC,IAAIC,WAII,GAAG,IAAI;AAEf,OAAO,MAAMC,UAAU,CAAC;EAWtBC,WAAWA,CAAC;IACVC,QAAQ;IACRC,OAAO,GAAG,+BAA+B;IACzCC,QAAQ;IACRC,aAAa,GAAG;EACD,CAAC,EAAE;IAClB,IAAI,CAACH,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACE,aAAa,GAAGA,aAAa;IAElCN,WAAW,GAAG;MAAEG,QAAQ;MAAEC,OAAO;MAAEE;IAAc,CAAC;IAElD,MAAMC,KAAK,GAAG;MAAEJ,QAAQ;MAAEC,OAAO;MAAEE;IAAc,CAAC;IAElD,IAAI,CAACE,OAAO,GAAG,IAAIb,iBAAiB,CAAC;MAAE,GAAGY,KAAK;MAAEF;IAAS,CAAC,CAAC;IAC5D,IAAI,CAACI,KAAK,GAAG,IAAIf,eAAe,CAACa,KAAK,CAAC;IACvC,IAAI,CAACG,GAAG,GAAG,IAAId,aAAa,CAACW,KAAK,CAAC;IACnC,IAAI,CAACI,IAAI,GAAG,IAAId,cAAc,CAACU,KAAK,CAAC;IACrC,IAAI,CAACK,QAAQ,GAAG,IAAId,kBAAkB,CAACS,KAAK,CAAC;EAC/C;EAEA,MAAMM,QAAQA,CAACC,KAAa,EAAiB;IAC3C,MAAMC,MAAM,GAAGtB,oBAAoB,CAAC;MAClCU,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBE,aAAa,EAAE,IAAI,CAACA;IACtB,CAAC,CAAC;IAEFS,MAAM,CAACF,QAAQ,CAACC,KAAK,CAAC;EACxB;EAEA,MAAME,MAAMA,CAACC,GAAW,EAA0B;IAChD,OAAO,MAAMD,MAAM,CAACC,GAAG,CAAC;EAC1B;AACF;AAEA,OAAO,SAASD,MAAMA,CAACC,GAAW,EAA0B;EAC1D,IAAIjB,WAAW,EAAE;IACf,MAAMe,MAAM,GAAGtB,oBAAoB,CAAC;MAClCU,QAAQ,EAAEH,WAAW,CAACG,QAAQ;MAC9BC,OAAO,EAAEJ,WAAW,CAACI,OAAO;MAC5BE,aAAa,EAAEN,WAAW,CAACM;IAC7B,CAAC,CAAC;IAEF,OAAOS,MAAM,CAACC,MAAM,CAACC,GAAG,EAAE;MAAEC,IAAI,EAAE;IAAQ,CAAC,CAAC,CAACC,IAAI,CAAEC,MAAM,IAAK;MAC5D,OAAO,CAAAA,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEN,KAAK,KAAI,IAAI;IAC9B,CAAC,CAAC;EACJ;;EAEA;EACA,IAAI,OAAOO,MAAM,KAAK,WAAW,EAAE;IACjCA,MAAM,CAACC,IAAI,CAACL,GAAG,EAAE,QAAQ,CAAC;EAC5B;EAEA,OAAOM,OAAO,CAACC,OAAO,CAAC,IAAI,CAAC;AAC9B","ignoreList":[]}
@@ -0,0 +1,111 @@
1
+ import { getOrCreateWebClient } from './web-client';
2
+ import { handleErrorCodes } from './error';
3
+ export class AuthsignalPasskey {
4
+ constructor({
5
+ tenantID,
6
+ baseURL,
7
+ deviceID,
8
+ enableLogging
9
+ }) {
10
+ this.tenantID = tenantID;
11
+ this.baseURL = baseURL;
12
+ this.deviceID = deviceID;
13
+ this.enableLogging = enableLogging;
14
+ }
15
+ async signUp({
16
+ token,
17
+ username,
18
+ displayName,
19
+ ignorePasskeyAlreadyExistsError = false
20
+ } = {}) {
21
+ try {
22
+ const client = this.getClient();
23
+ const result = await client.passkey.signUp({
24
+ token,
25
+ username,
26
+ displayName
27
+ });
28
+ if (result.errorCode) {
29
+ return {
30
+ error: result.errorDescription ?? result.error,
31
+ errorCode: result.errorCode
32
+ };
33
+ }
34
+ return {
35
+ data: result.data ? {
36
+ token: result.data.token
37
+ } : undefined
38
+ };
39
+ } catch (ex) {
40
+ if (ignorePasskeyAlreadyExistsError && (ex === null || ex === void 0 ? void 0 : ex.name) === 'InvalidStateError') {
41
+ return {};
42
+ }
43
+ return this.handleWebAuthnError(ex);
44
+ }
45
+ }
46
+ async signIn({
47
+ action,
48
+ token,
49
+ autofill = false
50
+ } = {}) {
51
+ try {
52
+ const client = this.getClient();
53
+ const result = await client.passkey.signIn({
54
+ action,
55
+ token,
56
+ autofill
57
+ });
58
+ if (result.errorCode) {
59
+ return {
60
+ error: result.errorDescription ?? result.error,
61
+ errorCode: result.errorCode
62
+ };
63
+ }
64
+ return {
65
+ data: result.data ? {
66
+ isVerified: result.data.isVerified,
67
+ token: result.data.token,
68
+ userId: result.data.userId,
69
+ userAuthenticatorId: result.data.userAuthenticatorId,
70
+ username: result.data.username,
71
+ displayName: result.data.displayName
72
+ } : undefined
73
+ };
74
+ } catch (ex) {
75
+ return this.handleWebAuthnError(ex);
76
+ }
77
+ }
78
+ cancel() {
79
+ // On web, passkey operations are managed by the browser
80
+ // and cannot be programmatically cancelled
81
+ }
82
+ isSupported() {
83
+ return typeof window !== 'undefined' && typeof window.PublicKeyCredential !== 'undefined';
84
+ }
85
+ getClient() {
86
+ return getOrCreateWebClient({
87
+ tenantID: this.tenantID,
88
+ baseURL: this.baseURL,
89
+ enableLogging: this.enableLogging
90
+ });
91
+ }
92
+ handleWebAuthnError(ex) {
93
+ if (this.enableLogging) {
94
+ console.log(ex);
95
+ }
96
+ if ((ex === null || ex === void 0 ? void 0 : ex.name) === 'NotAllowedError') {
97
+ return {
98
+ error: ex.message ?? 'User cancelled the operation',
99
+ errorCode: 'user_canceled'
100
+ };
101
+ }
102
+ if ((ex === null || ex === void 0 ? void 0 : ex.name) === 'InvalidStateError') {
103
+ return {
104
+ error: ex.message ?? 'Credential already exists',
105
+ errorCode: 'matched_excluded_credential'
106
+ };
107
+ }
108
+ return handleErrorCodes(ex);
109
+ }
110
+ }
111
+ //# sourceMappingURL=passkey.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getOrCreateWebClient","handleErrorCodes","AuthsignalPasskey","constructor","tenantID","baseURL","deviceID","enableLogging","signUp","token","username","displayName","ignorePasskeyAlreadyExistsError","client","getClient","result","passkey","errorCode","error","errorDescription","data","undefined","ex","name","handleWebAuthnError","signIn","action","autofill","isVerified","userId","userAuthenticatorId","cancel","isSupported","window","PublicKeyCredential","console","log","message"],"sourceRoot":"../../src","sources":["passkey.web.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,86 @@
1
+ import { getOrCreateWebClient } from './web-client';
2
+ import { handleErrorCodes } from './error';
3
+ export class AuthsignalSms {
4
+ constructor({
5
+ tenantID,
6
+ baseURL,
7
+ enableLogging
8
+ }) {
9
+ this.tenantID = tenantID;
10
+ this.baseURL = baseURL;
11
+ this.enableLogging = enableLogging;
12
+ }
13
+ async enroll({
14
+ phoneNumber
15
+ }) {
16
+ try {
17
+ const client = this.getClient();
18
+ const result = await client.sms.enroll({
19
+ phoneNumber
20
+ });
21
+ if (result.errorCode) {
22
+ return {
23
+ error: result.errorDescription ?? result.error,
24
+ errorCode: result.errorCode
25
+ };
26
+ }
27
+ return {};
28
+ } catch (ex) {
29
+ return this.handleError(ex);
30
+ }
31
+ }
32
+ async challenge() {
33
+ try {
34
+ const client = this.getClient();
35
+ const result = await client.sms.challenge();
36
+ if (result.errorCode) {
37
+ return {
38
+ error: result.errorDescription ?? result.error,
39
+ errorCode: result.errorCode
40
+ };
41
+ }
42
+ return {};
43
+ } catch (ex) {
44
+ return this.handleError(ex);
45
+ }
46
+ }
47
+ async verify({
48
+ code
49
+ }) {
50
+ try {
51
+ const client = this.getClient();
52
+ const result = await client.sms.verify({
53
+ code
54
+ });
55
+ if (result.errorCode) {
56
+ return {
57
+ error: result.errorDescription ?? result.error,
58
+ errorCode: result.errorCode
59
+ };
60
+ }
61
+ return {
62
+ data: result.data ? {
63
+ isVerified: result.data.isVerified,
64
+ token: result.data.token,
65
+ failureReason: result.data.failureReason
66
+ } : undefined
67
+ };
68
+ } catch (ex) {
69
+ return this.handleError(ex);
70
+ }
71
+ }
72
+ getClient() {
73
+ return getOrCreateWebClient({
74
+ tenantID: this.tenantID,
75
+ baseURL: this.baseURL,
76
+ enableLogging: this.enableLogging
77
+ });
78
+ }
79
+ handleError(ex) {
80
+ if (this.enableLogging) {
81
+ console.log(ex);
82
+ }
83
+ return handleErrorCodes(ex);
84
+ }
85
+ }
86
+ //# sourceMappingURL=sms.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getOrCreateWebClient","handleErrorCodes","AuthsignalSms","constructor","tenantID","baseURL","enableLogging","enroll","phoneNumber","client","getClient","result","sms","errorCode","error","errorDescription","ex","handleError","challenge","verify","code","data","isVerified","token","failureReason","undefined","console","log"],"sourceRoot":"../../src","sources":["sms.web.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,72 @@
1
+ import { getOrCreateWebClient } from './web-client';
2
+ import { handleErrorCodes } from './error';
3
+ export class AuthsignalTotp {
4
+ constructor({
5
+ tenantID,
6
+ baseURL,
7
+ enableLogging
8
+ }) {
9
+ this.tenantID = tenantID;
10
+ this.baseURL = baseURL;
11
+ this.enableLogging = enableLogging;
12
+ }
13
+ async enroll() {
14
+ try {
15
+ const client = this.getClient();
16
+ const result = await client.totp.enroll();
17
+ if (result.errorCode) {
18
+ return {
19
+ error: result.errorDescription ?? result.error,
20
+ errorCode: result.errorCode
21
+ };
22
+ }
23
+ return {
24
+ data: result.data ? {
25
+ uri: result.data.uri,
26
+ secret: result.data.secret
27
+ } : undefined
28
+ };
29
+ } catch (ex) {
30
+ return this.handleError(ex);
31
+ }
32
+ }
33
+ async verify({
34
+ code
35
+ }) {
36
+ try {
37
+ const client = this.getClient();
38
+ const result = await client.totp.verify({
39
+ code
40
+ });
41
+ if (result.errorCode) {
42
+ return {
43
+ error: result.errorDescription ?? result.error,
44
+ errorCode: result.errorCode
45
+ };
46
+ }
47
+ return {
48
+ data: result.data ? {
49
+ isVerified: result.data.isVerified,
50
+ token: result.data.token,
51
+ failureReason: result.data.failureReason
52
+ } : undefined
53
+ };
54
+ } catch (ex) {
55
+ return this.handleError(ex);
56
+ }
57
+ }
58
+ getClient() {
59
+ return getOrCreateWebClient({
60
+ tenantID: this.tenantID,
61
+ baseURL: this.baseURL,
62
+ enableLogging: this.enableLogging
63
+ });
64
+ }
65
+ handleError(ex) {
66
+ if (this.enableLogging) {
67
+ console.log(ex);
68
+ }
69
+ return handleErrorCodes(ex);
70
+ }
71
+ }
72
+ //# sourceMappingURL=totp.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getOrCreateWebClient","handleErrorCodes","AuthsignalTotp","constructor","tenantID","baseURL","enableLogging","enroll","client","getClient","result","totp","errorCode","error","errorDescription","data","uri","secret","undefined","ex","handleError","verify","code","isVerified","token","failureReason","console","log"],"sourceRoot":"../../src","sources":["totp.web.ts"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,cAAc;AACnD,SAASC,gBAAgB,QAAQ,SAAS;AAc1C,OAAO,MAAMC,cAAc,CAAC;EAK1BC,WAAWA,CAAC;IAAEC,QAAQ;IAAEC,OAAO;IAAEC;EAA+B,CAAC,EAAE;IACjE,IAAI,CAACF,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,aAAa,GAAGA,aAAa;EACpC;EAEA,MAAMC,MAAMA,CAAA,EAAoD;IAC9D,IAAI;MACF,MAAMC,MAAM,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC;MAC/B,MAAMC,MAAM,GAAG,MAAMF,MAAM,CAACG,IAAI,CAACJ,MAAM,CAAC,CAAC;MAEzC,IAAIG,MAAM,CAACE,SAAS,EAAE;QACpB,OAAO;UACLC,KAAK,EAAEH,MAAM,CAACI,gBAAgB,IAAIJ,MAAM,CAACG,KAAK;UAC9CD,SAAS,EAAEF,MAAM,CAACE;QACpB,CAAC;MACH;MAEA,OAAO;QACLG,IAAI,EAAEL,MAAM,CAACK,IAAI,GACb;UACEC,GAAG,EAAEN,MAAM,CAACK,IAAI,CAACC,GAAG;UACpBC,MAAM,EAAEP,MAAM,CAACK,IAAI,CAACE;QACtB,CAAC,GACDC;MACN,CAAC;IACH,CAAC,CAAC,OAAOC,EAAE,EAAE;MACX,OAAO,IAAI,CAACC,WAAW,CAACD,EAAE,CAAC;IAC7B;EACF;EAEA,MAAME,MAAMA,CAAC;IACXC;EACW,CAAC,EAA+C;IAC3D,IAAI;MACF,MAAMd,MAAM,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC;MAC/B,MAAMC,MAAM,GAAG,MAAMF,MAAM,CAACG,IAAI,CAACU,MAAM,CAAC;QAAEC;MAAK,CAAC,CAAC;MAEjD,IAAIZ,MAAM,CAACE,SAAS,EAAE;QACpB,OAAO;UACLC,KAAK,EAAEH,MAAM,CAACI,gBAAgB,IAAIJ,MAAM,CAACG,KAAK;UAC9CD,SAAS,EAAEF,MAAM,CAACE;QACpB,CAAC;MACH;MAEA,OAAO;QACLG,IAAI,EAAEL,MAAM,CAACK,IAAI,GACb;UACEQ,UAAU,EAAEb,MAAM,CAACK,IAAI,CAACQ,UAAU;UAClCC,KAAK,EAAEd,MAAM,CAACK,IAAI,CAACS,KAAK;UACxBC,aAAa,EAAEf,MAAM,CAACK,IAAI,CAACU;QAC7B,CAAC,GACDP;MACN,CAAC;IACH,CAAC,CAAC,OAAOC,EAAE,EAAE;MACX,OAAO,IAAI,CAACC,WAAW,CAACD,EAAE,CAAC;IAC7B;EACF;EAEQV,SAASA,CAAA,EAAG;IAClB,OAAOT,oBAAoB,CAAC;MAC1BI,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBC,aAAa,EAAE,IAAI,CAACA;IACtB,CAAC,CAAC;EACJ;EAEQc,WAAWA,CAACD,EAAW,EAAE;IAC/B,IAAI,IAAI,CAACb,aAAa,EAAE;MACtBoB,OAAO,CAACC,GAAG,CAACR,EAAE,CAAC;IACjB;IAEA,OAAOlB,gBAAgB,CAACkB,EAAE,CAAC;EAC7B;AACF","ignoreList":[]}
@@ -0,0 +1,21 @@
1
+ import { Authsignal as AuthsignalBrowser } from '@authsignal/browser';
2
+ let client = null;
3
+ let currentTenantID = null;
4
+ let currentBaseURL = null;
5
+ export function getOrCreateWebClient({
6
+ tenantID,
7
+ baseURL,
8
+ enableLogging = false
9
+ }) {
10
+ if (!client || tenantID !== currentTenantID || baseURL !== currentBaseURL) {
11
+ client = new AuthsignalBrowser({
12
+ tenantId: tenantID,
13
+ baseUrl: baseURL,
14
+ enableLogging
15
+ });
16
+ currentTenantID = tenantID;
17
+ currentBaseURL = baseURL;
18
+ }
19
+ return client;
20
+ }
21
+ //# sourceMappingURL=web-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Authsignal","AuthsignalBrowser","client","currentTenantID","currentBaseURL","getOrCreateWebClient","tenantID","baseURL","enableLogging","tenantId","baseUrl"],"sourceRoot":"../../src","sources":["web-client.ts"],"mappings":"AAAA,SAASA,UAAU,IAAIC,iBAAiB,QAAQ,qBAAqB;AAErE,IAAIC,MAAgC,GAAG,IAAI;AAC3C,IAAIC,eAA8B,GAAG,IAAI;AACzC,IAAIC,cAA6B,GAAG,IAAI;AAQxC,OAAO,SAASC,oBAAoBA,CAAC;EACnCC,QAAQ;EACRC,OAAO;EACPC,aAAa,GAAG;AACD,CAAC,EAAqB;EACrC,IAAI,CAACN,MAAM,IAAII,QAAQ,KAAKH,eAAe,IAAII,OAAO,KAAKH,cAAc,EAAE;IACzEF,MAAM,GAAG,IAAID,iBAAiB,CAAC;MAC7BQ,QAAQ,EAAEH,QAAQ;MAClBI,OAAO,EAAEH,OAAO;MAChBC;IACF,CAAC,CAAC;IACFL,eAAe,GAAGG,QAAQ;IAC1BF,cAAc,GAAGG,OAAO;EAC1B;EAEA,OAAOL,MAAM;AACf","ignoreList":[]}
@@ -0,0 +1,67 @@
1
+ import { getOrCreateWebClient } from './web-client';
2
+ import { handleErrorCodes } from './error';
3
+ export class AuthsignalWhatsapp {
4
+ constructor({
5
+ tenantID,
6
+ baseURL,
7
+ enableLogging
8
+ }) {
9
+ this.tenantID = tenantID;
10
+ this.baseURL = baseURL;
11
+ this.enableLogging = enableLogging;
12
+ }
13
+ async challenge() {
14
+ try {
15
+ const client = this.getClient();
16
+ const result = await client.whatsapp.challenge();
17
+ if (result.errorCode) {
18
+ return {
19
+ error: result.errorDescription ?? result.error,
20
+ errorCode: result.errorCode
21
+ };
22
+ }
23
+ return {};
24
+ } catch (ex) {
25
+ return this.handleError(ex);
26
+ }
27
+ }
28
+ async verify({
29
+ code
30
+ }) {
31
+ try {
32
+ const client = this.getClient();
33
+ const result = await client.whatsapp.verify({
34
+ code
35
+ });
36
+ if (result.errorCode) {
37
+ return {
38
+ error: result.errorDescription ?? result.error,
39
+ errorCode: result.errorCode
40
+ };
41
+ }
42
+ return {
43
+ data: result.data ? {
44
+ isVerified: result.data.isVerified,
45
+ token: result.data.token,
46
+ failureReason: result.data.failureReason
47
+ } : undefined
48
+ };
49
+ } catch (ex) {
50
+ return this.handleError(ex);
51
+ }
52
+ }
53
+ getClient() {
54
+ return getOrCreateWebClient({
55
+ tenantID: this.tenantID,
56
+ baseURL: this.baseURL,
57
+ enableLogging: this.enableLogging
58
+ });
59
+ }
60
+ handleError(ex) {
61
+ if (this.enableLogging) {
62
+ console.log(ex);
63
+ }
64
+ return handleErrorCodes(ex);
65
+ }
66
+ }
67
+ //# sourceMappingURL=whatsapp.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getOrCreateWebClient","handleErrorCodes","AuthsignalWhatsapp","constructor","tenantID","baseURL","enableLogging","challenge","client","getClient","result","whatsapp","errorCode","error","errorDescription","ex","handleError","verify","code","data","isVerified","token","failureReason","undefined","console","log"],"sourceRoot":"../../src","sources":["whatsapp.web.ts"],"mappings":"AAAA,SAASA,oBAAoB,QAAQ,cAAc;AACnD,SAASC,gBAAgB,QAAQ,SAAS;AAS1C,OAAO,MAAMC,kBAAkB,CAAC;EAK9BC,WAAWA,CAAC;IAAEC,QAAQ;IAAEC,OAAO;IAAEC;EAA+B,CAAC,EAAE;IACjE,IAAI,CAACF,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,OAAO,GAAGA,OAAO;IACtB,IAAI,CAACC,aAAa,GAAGA,aAAa;EACpC;EAEA,MAAMC,SAASA,CAAA,EAAsC;IACnD,IAAI;MACF,MAAMC,MAAM,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC;MAC/B,MAAMC,MAAM,GAAG,MAAMF,MAAM,CAACG,QAAQ,CAACJ,SAAS,CAAC,CAAC;MAEhD,IAAIG,MAAM,CAACE,SAAS,EAAE;QACpB,OAAO;UACLC,KAAK,EAAEH,MAAM,CAACI,gBAAgB,IAAIJ,MAAM,CAACG,KAAK;UAC9CD,SAAS,EAAEF,MAAM,CAACE;QACpB,CAAC;MACH;MAEA,OAAO,CAAC,CAAC;IACX,CAAC,CAAC,OAAOG,EAAE,EAAE;MACX,OAAO,IAAI,CAACC,WAAW,CAACD,EAAE,CAAC;IAC7B;EACF;EAEA,MAAME,MAAMA,CAAC;IACXC;EACW,CAAC,EAA+C;IAC3D,IAAI;MACF,MAAMV,MAAM,GAAG,IAAI,CAACC,SAAS,CAAC,CAAC;MAC/B,MAAMC,MAAM,GAAG,MAAMF,MAAM,CAACG,QAAQ,CAACM,MAAM,CAAC;QAAEC;MAAK,CAAC,CAAC;MAErD,IAAIR,MAAM,CAACE,SAAS,EAAE;QACpB,OAAO;UACLC,KAAK,EAAEH,MAAM,CAACI,gBAAgB,IAAIJ,MAAM,CAACG,KAAK;UAC9CD,SAAS,EAAEF,MAAM,CAACE;QACpB,CAAC;MACH;MAEA,OAAO;QACLO,IAAI,EAAET,MAAM,CAACS,IAAI,GACb;UACEC,UAAU,EAAEV,MAAM,CAACS,IAAI,CAACC,UAAU;UAClCC,KAAK,EAAEX,MAAM,CAACS,IAAI,CAACE,KAAK;UACxBC,aAAa,EAAEZ,MAAM,CAACS,IAAI,CAACG;QAC7B,CAAC,GACDC;MACN,CAAC;IACH,CAAC,CAAC,OAAOR,EAAE,EAAE;MACX,OAAO,IAAI,CAACC,WAAW,CAACD,EAAE,CAAC;IAC7B;EACF;EAEQN,SAASA,CAAA,EAAG;IAClB,OAAOT,oBAAoB,CAAC;MAC1BI,QAAQ,EAAE,IAAI,CAACA,QAAQ;MACvBC,OAAO,EAAE,IAAI,CAACA,OAAO;MACrBC,aAAa,EAAE,IAAI,CAACA;IACtB,CAAC,CAAC;EACJ;EAEQU,WAAWA,CAACD,EAAW,EAAE;IAC/B,IAAI,IAAI,CAACT,aAAa,EAAE;MACtBkB,OAAO,CAACC,GAAG,CAACV,EAAE,CAAC;IACjB;IAEA,OAAOd,gBAAgB,CAACc,EAAE,CAAC;EAC7B;AACF","ignoreList":[]}
@@ -0,0 +1,22 @@
1
+ import type { AuthsignalResponse, VerifyInput, VerifyResponse } from './types';
2
+ interface ConstructorArgs {
3
+ tenantID: string;
4
+ baseURL: string;
5
+ enableLogging: boolean;
6
+ }
7
+ interface EnrollEmailInput {
8
+ email: string;
9
+ }
10
+ export declare class AuthsignalEmail {
11
+ tenantID: string;
12
+ baseURL: string;
13
+ enableLogging: boolean;
14
+ constructor({ tenantID, baseURL, enableLogging }: ConstructorArgs);
15
+ enroll({ email }: EnrollEmailInput): Promise<AuthsignalResponse<void>>;
16
+ challenge(): Promise<AuthsignalResponse<void>>;
17
+ verify({ code, }: VerifyInput): Promise<AuthsignalResponse<VerifyResponse>>;
18
+ private getClient;
19
+ private handleError;
20
+ }
21
+ export {};
22
+ //# sourceMappingURL=email.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"email.web.d.ts","sourceRoot":"","sources":["../../src/email.web.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAE/E,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;CACxB;AAED,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,eAAe;IAC1B,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,EAAE,KAAK,EAAE,EAAE,gBAAgB,GAAG,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAkBtE,SAAS,IAAI,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IAkB9C,MAAM,CAAC,EACX,IAAI,GACL,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;IA0B5D,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,WAAW;CAOpB"}
@@ -0,0 +1,12 @@
1
+ export declare enum ErrorCode {
2
+ token_not_set = "token_not_set",
3
+ token_required = "token_required",
4
+ token_invalid = "token_invalid"
5
+ }
6
+ export declare function handleErrorCodes(ex: any): ErrorResponse;
7
+ interface ErrorResponse {
8
+ error: string;
9
+ errorCode: string;
10
+ }
11
+ export {};
12
+ //# sourceMappingURL=error.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.web.d.ts","sourceRoot":"","sources":["../../src/error.web.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACnB,aAAa,kBAAkB;IAC/B,cAAc,mBAAmB;IACjC,aAAa,kBAAkB;CAChC;AAED,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,GAAG,iBASvC;AAED,UAAU,aAAa;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,28 @@
1
+ import { AuthsignalEmail } from './email';
2
+ import { AuthsignalPasskey } from './passkey';
3
+ import { AuthsignalSms } from './sms';
4
+ import { AuthsignalTotp } from './totp';
5
+ import { AuthsignalWhatsapp } from './whatsapp';
6
+ export * from './types';
7
+ export { ErrorCode } from './error';
8
+ interface ConstructorArgs {
9
+ tenantID: string;
10
+ baseURL?: string;
11
+ deviceID?: string;
12
+ enableLogging?: boolean;
13
+ }
14
+ export declare class Authsignal {
15
+ tenantID: string;
16
+ baseURL: string;
17
+ enableLogging: boolean;
18
+ email: AuthsignalEmail;
19
+ passkey: AuthsignalPasskey;
20
+ sms: AuthsignalSms;
21
+ totp: AuthsignalTotp;
22
+ whatsapp: AuthsignalWhatsapp;
23
+ constructor({ tenantID, baseURL, deviceID, enableLogging, }: ConstructorArgs);
24
+ setToken(token: string): Promise<void>;
25
+ launch(url: string): Promise<string | null>;
26
+ }
27
+ export declare function launch(url: string): Promise<string | null>;
28
+ //# sourceMappingURL=index.web.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../src/index.web.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,UAAU,eAAe;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAQD,qBAAa,UAAU;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,OAAO,CAAC;IAEvB,KAAK,EAAE,eAAe,CAAC;IACvB,OAAO,EAAE,iBAAiB,CAAC;IAC3B,GAAG,EAAE,aAAa,CAAC;IACnB,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,kBAAkB,CAAC;gBAEjB,EACV,QAAQ,EACR,OAAyC,EACzC,QAAQ,EACR,aAAqB,GACtB,EAAE,eAAe;IAgBZ,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtC,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAGlD;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAmB1D"}