react-native-authsignal 0.2.2 → 0.2.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/README.md CHANGED
@@ -1,3 +1,58 @@
1
1
  # react-native-authsignal
2
2
 
3
3
  Check out our [official React Native documentation](https://docs.authsignal.com/sdks/client/react-native).
4
+
5
+ ## Installation
6
+
7
+ Install the Authsignal React Native SDK using npm or yarn:
8
+
9
+ ```bash
10
+ npm install react-native-authsignal
11
+ ```
12
+
13
+ Then link the native iOS dependencies:
14
+
15
+ ```bash
16
+ npx pod-install ios
17
+ ```
18
+
19
+ ## Initialization
20
+
21
+ Initialize the Authsignal client in your code:
22
+
23
+ ```ts
24
+ import { Authsignal } from 'react-native-authsignal';
25
+
26
+ const authsignal = new Authsignal({
27
+ tenantId: 'YOUR_TENANT_ID',
28
+ baseUrl: 'YOUR_REGION_BASE_URL',
29
+ });
30
+ ```
31
+
32
+ You can find your `tenantId` in the [Authsignal Portal](https://portal.authsignal.com/organisations/tenants/api).
33
+
34
+ You must specify the correct `baseUrl` for your tenant's region.
35
+
36
+ | Region | Base URL |
37
+ | ----------- | -------------------------------------- |
38
+ | US (Oregon) | https://challenge.authsignal.com/v1 |
39
+ | AU (Sydney) | https://au-challenge.authsignal.com/v1 |
40
+ | EU (Dublin) | https://eu-challenge.authsignal.com/v1 |
41
+
42
+ ## Usage
43
+
44
+ ### Passkeys
45
+
46
+ For more detailed info on how add passkeys to your app using Authsignal, check out our [official passkey documentation for React Native](https://docs.authsignal.com/sdks/client/react-native#passkeys).
47
+
48
+ ### Push
49
+
50
+ To see how to add push authentication to your app using Authsignal, see our [official push documentation for React Native](https://docs.authsignal.com/sdks/client/react-native#push).
51
+
52
+ ## Examples
53
+
54
+ ### Passkeys
55
+
56
+ You can check out [this Github repo](https://github.com/authsignal/react-native-passkey-example) to see an example app which implements a sign-in with passkey flow using the Authsignal React Native SDK.
57
+
58
+ To see an example app which demonstrates integration with AWS Cognito + Amplify, take a look at this [this branch](https://github.com/authsignal/react-native-passkey-example/tree/with-aws-cognito).
@@ -8,6 +8,7 @@ var _reactNative = require("react-native");
8
8
  var _error = require("./error");
9
9
  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; }
10
10
  let initialized = false;
11
+ let autofillRequestPending = false;
11
12
  const AuthsignalPasskeyModule = _reactNative.NativeModules.AuthsignalPasskeyModule ? _reactNative.NativeModules.AuthsignalPasskeyModule : new Proxy({}, {
12
13
  get() {
13
14
  throw new Error(_error.LINKING_ERROR);
@@ -58,7 +59,15 @@ class AuthsignalPasskey {
58
59
  await this.ensureModuleIsInitialized();
59
60
  try {
60
61
  if (_reactNative.Platform.OS === 'ios') {
62
+ if (autofill) {
63
+ if (autofillRequestPending) {
64
+ return {};
65
+ } else {
66
+ autofillRequestPending = true;
67
+ }
68
+ }
61
69
  const data = await AuthsignalPasskeyModule.signIn(token, autofill);
70
+ autofillRequestPending = false;
62
71
  return {
63
72
  data
64
73
  };
@@ -74,6 +83,7 @@ class AuthsignalPasskey {
74
83
  if (this.enableLogging && !autofill) {
75
84
  console.log(ex);
76
85
  }
86
+ autofillRequestPending = false;
77
87
  if (ex instanceof Error) {
78
88
  return {
79
89
  error: ex.message
@@ -1 +1 @@
1
- {"version":3,"names":["initialized","AuthsignalPasskeyModule","NativeModules","Proxy","get","Error","LINKING_ERROR","AuthsignalPasskey","constructor","tenantID","baseURL","enableLogging","signUp","token","userName","ensureModuleIsInitialized","data","ex","console","log","error","message","signIn","autofill","Platform","OS","cancel","initialize"],"sourceRoot":"../../src","sources":["passkey.ts"],"mappings":";;;;;;AAAA;AACA;AAAwC;AAmBxC,IAAIA,WAAW,GAAG,KAAK;AAEvB,MAAMC,uBAAuB,GAAGC,0BAAa,CAACD,uBAAuB,GACjEC,0BAAa,CAACD,uBAAuB,GACrC,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAK,CAACC,oBAAa,CAAC;EAChC;AACF,CAAC,CACF;AAEE,MAAMC,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,MAAMf,uBAAuB,CAACW,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,YAAYZ,KAAK,EAAE;QACvB,OAAO;UAAEe,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,IAAIS,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;QACzB,MAAMT,IAAI,GAAG,MAAMf,uBAAuB,CAACqB,MAAM,CAACT,KAAK,EAAEU,QAAQ,CAAC;QAElE,OAAO;UAAEP;QAAK,CAAC;MACjB,CAAC,MAAM,IAAI,CAACO,QAAQ,EAAE;QACpB,MAAMP,IAAI,GAAG,MAAMf,uBAAuB,CAACqB,MAAM,CAACT,KAAK,CAAC;QAExD,OAAO;UAAEG;QAAK,CAAC;MACjB,CAAC,MAAM;QACL,MAAM,IAAIX,KAAK,CAAC,mCAAmC,CAAC;MACtD;IACF,CAAC,CAAC,OAAOY,EAAE,EAAE;MACX,IAAI,IAAI,CAACN,aAAa,IAAI,CAACY,QAAQ,EAAE;QACnCL,OAAO,CAACC,GAAG,CAACF,EAAE,CAAC;MACjB;MAEA,IAAIA,EAAE,YAAYZ,KAAK,EAAE;QACvB,OAAO;UAAEe,KAAK,EAAEH,EAAE,CAACI;QAAQ,CAAC;MAC9B;MAEA,MAAMJ,EAAE;IACV;EACF;EAEAS,MAAM,GAAG;IACP,IAAIF,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBxB,uBAAuB,CAACyB,MAAM,EAAE;IAClC;EACF;EAEA,MAAcX,yBAAyB,GAAG;IACxC,IAAIf,WAAW,EAAE;MACf;IACF;IAEA,MAAMC,uBAAuB,CAAC0B,UAAU,CAAC,IAAI,CAAClB,QAAQ,EAAE,IAAI,CAACC,OAAO,CAAC;IAErEV,WAAW,GAAG,IAAI;EACpB;AACF;AAAC"}
1
+ {"version":3,"names":["initialized","autofillRequestPending","AuthsignalPasskeyModule","NativeModules","Proxy","get","Error","LINKING_ERROR","AuthsignalPasskey","constructor","tenantID","baseURL","enableLogging","signUp","token","userName","ensureModuleIsInitialized","data","ex","console","log","error","message","signIn","autofill","Platform","OS","cancel","initialize"],"sourceRoot":"../../src","sources":["passkey.ts"],"mappings":";;;;;;AAAA;AACA;AAAwC;AAmBxC,IAAIA,WAAW,GAAG,KAAK;AACvB,IAAIC,sBAAsB,GAAG,KAAK;AAElC,MAAMC,uBAAuB,GAAGC,0BAAa,CAACD,uBAAuB,GACjEC,0BAAa,CAACD,uBAAuB,GACrC,IAAIE,KAAK,CACP,CAAC,CAAC,EACF;EACEC,GAAG,GAAG;IACJ,MAAM,IAAIC,KAAK,CAACC,oBAAa,CAAC;EAChC;AACF,CAAC,CACF;AAEE,MAAMC,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,MAAMf,uBAAuB,CAACW,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,YAAYZ,KAAK,EAAE;QACvB,OAAO;UAAEe,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,IAAIS,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;QACzB,IAAIF,QAAQ,EAAE;UACZ,IAAIvB,sBAAsB,EAAE;YAC1B,OAAO,CAAC,CAAC;UACX,CAAC,MAAM;YACLA,sBAAsB,GAAG,IAAI;UAC/B;QACF;QAEA,MAAMgB,IAAI,GAAG,MAAMf,uBAAuB,CAACqB,MAAM,CAACT,KAAK,EAAEU,QAAQ,CAAC;QAElEvB,sBAAsB,GAAG,KAAK;QAE9B,OAAO;UAAEgB;QAAK,CAAC;MACjB,CAAC,MAAM,IAAI,CAACO,QAAQ,EAAE;QACpB,MAAMP,IAAI,GAAG,MAAMf,uBAAuB,CAACqB,MAAM,CAACT,KAAK,CAAC;QAExD,OAAO;UAAEG;QAAK,CAAC;MACjB,CAAC,MAAM;QACL,MAAM,IAAIX,KAAK,CAAC,mCAAmC,CAAC;MACtD;IACF,CAAC,CAAC,OAAOY,EAAE,EAAE;MACX,IAAI,IAAI,CAACN,aAAa,IAAI,CAACY,QAAQ,EAAE;QACnCL,OAAO,CAACC,GAAG,CAACF,EAAE,CAAC;MACjB;MAEAjB,sBAAsB,GAAG,KAAK;MAE9B,IAAIiB,EAAE,YAAYZ,KAAK,EAAE;QACvB,OAAO;UAAEe,KAAK,EAAEH,EAAE,CAACI;QAAQ,CAAC;MAC9B;MAEA,MAAMJ,EAAE;IACV;EACF;EAEAS,MAAM,GAAG;IACP,IAAIF,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;MACzBxB,uBAAuB,CAACyB,MAAM,EAAE;IAClC;EACF;EAEA,MAAcX,yBAAyB,GAAG;IACxC,IAAIhB,WAAW,EAAE;MACf;IACF;IAEA,MAAME,uBAAuB,CAAC0B,UAAU,CAAC,IAAI,CAAClB,QAAQ,EAAE,IAAI,CAACC,OAAO,CAAC;IAErEX,WAAW,GAAG,IAAI;EACpB;AACF;AAAC"}
@@ -2,6 +2,7 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
2
2
  import { NativeModules, Platform } from 'react-native';
3
3
  import { LINKING_ERROR } from './error';
4
4
  let initialized = false;
5
+ let autofillRequestPending = false;
5
6
  const AuthsignalPasskeyModule = NativeModules.AuthsignalPasskeyModule ? NativeModules.AuthsignalPasskeyModule : new Proxy({}, {
6
7
  get() {
7
8
  throw new Error(LINKING_ERROR);
@@ -52,7 +53,15 @@ export class AuthsignalPasskey {
52
53
  await this.ensureModuleIsInitialized();
53
54
  try {
54
55
  if (Platform.OS === 'ios') {
56
+ if (autofill) {
57
+ if (autofillRequestPending) {
58
+ return {};
59
+ } else {
60
+ autofillRequestPending = true;
61
+ }
62
+ }
55
63
  const data = await AuthsignalPasskeyModule.signIn(token, autofill);
64
+ autofillRequestPending = false;
56
65
  return {
57
66
  data
58
67
  };
@@ -68,6 +77,7 @@ export class AuthsignalPasskey {
68
77
  if (this.enableLogging && !autofill) {
69
78
  console.log(ex);
70
79
  }
80
+ autofillRequestPending = false;
71
81
  if (ex instanceof Error) {
72
82
  return {
73
83
  error: ex.message
@@ -1 +1 @@
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"}
1
+ {"version":3,"names":["NativeModules","Platform","LINKING_ERROR","initialized","autofillRequestPending","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":"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"}
@@ -1 +1 @@
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"}
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;AAgBD,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;IAwC3D,MAAM;YAMQ,yBAAyB;CASxC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-authsignal",
3
- "version": "0.2.2",
3
+ "version": "0.2.3",
4
4
  "description": "The official Authsignal React Native library.",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -36,6 +36,7 @@
36
36
  "ios",
37
37
  "android",
38
38
  "passkeys",
39
+ "push",
39
40
  "auth",
40
41
  "authentication",
41
42
  "mfa"
@@ -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.10'
20
+ s.dependency 'Authsignal', '0.1.11'
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/passkey.ts CHANGED
@@ -19,6 +19,7 @@ interface PasskeySignInInput {
19
19
  }
20
20
 
21
21
  let initialized = false;
22
+ let autofillRequestPending = false;
22
23
 
23
24
  const AuthsignalPasskeyModule = NativeModules.AuthsignalPasskeyModule
24
25
  ? NativeModules.AuthsignalPasskeyModule
@@ -73,8 +74,18 @@ export class AuthsignalPasskey {
73
74
 
74
75
  try {
75
76
  if (Platform.OS === 'ios') {
77
+ if (autofill) {
78
+ if (autofillRequestPending) {
79
+ return {};
80
+ } else {
81
+ autofillRequestPending = true;
82
+ }
83
+ }
84
+
76
85
  const data = await AuthsignalPasskeyModule.signIn(token, autofill);
77
86
 
87
+ autofillRequestPending = false;
88
+
78
89
  return { data };
79
90
  } else if (!autofill) {
80
91
  const data = await AuthsignalPasskeyModule.signIn(token);
@@ -88,6 +99,8 @@ export class AuthsignalPasskey {
88
99
  console.log(ex);
89
100
  }
90
101
 
102
+ autofillRequestPending = false;
103
+
91
104
  if (ex instanceof Error) {
92
105
  return { error: ex.message };
93
106
  }