react-native-nitro-auth 0.5.6 → 0.5.7

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 (34) hide show
  1. package/README.md +8 -2
  2. package/android/src/main/cpp/PlatformAuth+Android.cpp +1 -1
  3. package/android/src/main/java/com/auth/AuthAdapter.kt +43 -21
  4. package/ios/AuthAdapter.swift +43 -14
  5. package/ios/PlatformAuth+iOS.mm +20 -1
  6. package/lib/commonjs/service.js +21 -17
  7. package/lib/commonjs/service.js.map +1 -1
  8. package/lib/commonjs/use-auth.js +26 -10
  9. package/lib/commonjs/use-auth.js.map +1 -1
  10. package/lib/commonjs/utils/auth-error.js +1 -1
  11. package/lib/commonjs/utils/auth-error.js.map +1 -1
  12. package/lib/module/service.js +21 -17
  13. package/lib/module/service.js.map +1 -1
  14. package/lib/module/use-auth.js +26 -10
  15. package/lib/module/use-auth.js.map +1 -1
  16. package/lib/module/utils/auth-error.js +1 -1
  17. package/lib/module/utils/auth-error.js.map +1 -1
  18. package/lib/typescript/commonjs/Auth.nitro.d.ts +2 -2
  19. package/lib/typescript/commonjs/Auth.nitro.d.ts.map +1 -1
  20. package/lib/typescript/commonjs/service.d.ts.map +1 -1
  21. package/lib/typescript/commonjs/use-auth.d.ts.map +1 -1
  22. package/lib/typescript/commonjs/utils/auth-error.d.ts.map +1 -1
  23. package/lib/typescript/module/Auth.nitro.d.ts +2 -2
  24. package/lib/typescript/module/Auth.nitro.d.ts.map +1 -1
  25. package/lib/typescript/module/service.d.ts.map +1 -1
  26. package/lib/typescript/module/use-auth.d.ts.map +1 -1
  27. package/lib/typescript/module/utils/auth-error.d.ts.map +1 -1
  28. package/nitro.json +4 -1
  29. package/nitrogen/generated/ios/NitroAuth+autolinking.rb +2 -0
  30. package/package.json +4 -3
  31. package/src/Auth.nitro.ts +3 -1
  32. package/src/service.ts +22 -17
  33. package/src/use-auth.ts +35 -6
  34. package/src/utils/auth-error.ts +2 -0
@@ -1 +1 @@
1
- {"version":3,"names":["AUTH_ERROR_CODES","Set","isAuthErrorCode","value","has","toAuthErrorCode","raw","AuthError","Error","constructor","message","String","code","name","underlyingMessage","undefined","from","e","exports"],"sourceRoot":"../../../src","sources":["utils/auth-error.ts"],"mappings":";;;;;;;;AAEA,MAAMA,gBAAqC,GAAG,IAAIC,GAAG,CAAgB,CACnE,WAAW,EACX,SAAS,EACT,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,SAAS,CACV,CAAC;AAEK,SAASC,eAAeA,CAACC,KAAa,EAA0B;EACrE,OAAOH,gBAAgB,CAACI,GAAG,CAACD,KAAK,CAAC;AACpC;AAEO,SAASE,eAAeA,CAACC,GAAW,EAAiB;EAC1D,OAAOJ,eAAe,CAACI,GAAG,CAAC,GAAGA,GAAG,GAAG,SAAS;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,SAAS,SAASC,KAAK,CAAC;EAInCC,WAAWA,CAACH,GAAY,EAAE;IACxB,MAAMI,OAAO,GAAGJ,GAAG,YAAYE,KAAK,GAAGF,GAAG,CAACI,OAAO,GAAGC,MAAM,CAACL,GAAG,CAAC;IAChE,MAAMM,IAAI,GAAGP,eAAe,CAACK,OAAO,CAAC;IACrC,KAAK,CAACE,IAAI,CAAC;IACX,IAAI,CAACC,IAAI,GAAG,WAAW;IACvB,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACE,iBAAiB,GAAGF,IAAI,KAAKF,OAAO,GAAGA,OAAO,GAAGK,SAAS;EACjE;EAEA,OAAOC,IAAIA,CAACC,CAAU,EAAa;IACjC,OAAOA,CAAC,YAAYV,SAAS,GAAGU,CAAC,GAAG,IAAIV,SAAS,CAACU,CAAC,CAAC;EACtD;AACF;AAACC,OAAA,CAAAX,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["AUTH_ERROR_CODES","Set","isAuthErrorCode","value","has","toAuthErrorCode","raw","AuthError","Error","constructor","message","String","code","name","underlyingMessage","undefined","from","e","exports"],"sourceRoot":"../../../src","sources":["utils/auth-error.ts"],"mappings":";;;;;;;;AAEA,MAAMA,gBAAqC,GAAG,IAAIC,GAAG,CAAgB,CACnE,WAAW,EACX,SAAS,EACT,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,SAAS,CACV,CAAC;AAEK,SAASC,eAAeA,CAACC,KAAa,EAA0B;EACrE,OAAOH,gBAAgB,CAACI,GAAG,CAACD,KAAK,CAAC;AACpC;AAEO,SAASE,eAAeA,CAACC,GAAW,EAAiB;EAC1D,OAAOJ,eAAe,CAACI,GAAG,CAAC,GAAGA,GAAG,GAAG,SAAS;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,SAAS,SAASC,KAAK,CAAC;EAInCC,WAAWA,CAACH,GAAY,EAAE;IACxB,MAAMI,OAAO,GAAGJ,GAAG,YAAYE,KAAK,GAAGF,GAAG,CAACI,OAAO,GAAGC,MAAM,CAACL,GAAG,CAAC;IAChE,MAAMM,IAAI,GAAGP,eAAe,CAACK,OAAO,CAAC;IACrC,KAAK,CAACE,IAAI,CAAC;IACX,IAAI,CAACC,IAAI,GAAG,WAAW;IACvB,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACE,iBAAiB,GAAGF,IAAI,KAAKF,OAAO,GAAGA,OAAO,GAAGK,SAAS;EACjE;EAEA,OAAOC,IAAIA,CAACC,CAAU,EAAa;IACjC,OAAOA,CAAC,YAAYV,SAAS,GAAGU,CAAC,GAAG,IAAIV,SAAS,CAACU,CAAC,CAAC;EACtD;AACF;AAACC,OAAA,CAAAX,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -2,23 +2,27 @@
2
2
 
3
3
  import { NitroModules } from "react-native-nitro-modules";
4
4
  import { AuthError } from "./utils/auth-error.js";
5
- const nitroAuth = NitroModules.createHybridObject("Auth");
5
+ let nitroAuth;
6
+ function getNitroAuth() {
7
+ nitroAuth ??= NitroModules.createHybridObject("Auth");
8
+ return nitroAuth;
9
+ }
6
10
  export const AuthService = {
7
11
  get name() {
8
- return nitroAuth.name;
12
+ return getNitroAuth().name;
9
13
  },
10
14
  get currentUser() {
11
- return nitroAuth.currentUser;
15
+ return getNitroAuth().currentUser;
12
16
  },
13
17
  get grantedScopes() {
14
- return nitroAuth.grantedScopes;
18
+ return getNitroAuth().grantedScopes;
15
19
  },
16
20
  get hasPlayServices() {
17
- return nitroAuth.hasPlayServices;
21
+ return getNitroAuth().hasPlayServices;
18
22
  },
19
23
  async login(provider, options) {
20
24
  try {
21
- await nitroAuth.login(provider, options);
25
+ await getNitroAuth().login(provider, options);
22
26
  return;
23
27
  } catch (e) {
24
28
  throw AuthError.from(e);
@@ -26,7 +30,7 @@ export const AuthService = {
26
30
  },
27
31
  async requestScopes(scopes) {
28
32
  try {
29
- await nitroAuth.requestScopes(scopes);
33
+ await getNitroAuth().requestScopes(scopes);
30
34
  return;
31
35
  } catch (e) {
32
36
  throw AuthError.from(e);
@@ -34,7 +38,7 @@ export const AuthService = {
34
38
  },
35
39
  async revokeScopes(scopes) {
36
40
  try {
37
- await nitroAuth.revokeScopes(scopes);
41
+ await getNitroAuth().revokeScopes(scopes);
38
42
  return;
39
43
  } catch (e) {
40
44
  throw AuthError.from(e);
@@ -42,43 +46,43 @@ export const AuthService = {
42
46
  },
43
47
  async getAccessToken() {
44
48
  try {
45
- return await nitroAuth.getAccessToken();
49
+ return await getNitroAuth().getAccessToken();
46
50
  } catch (e) {
47
51
  throw AuthError.from(e);
48
52
  }
49
53
  },
50
54
  async refreshToken() {
51
55
  try {
52
- return await nitroAuth.refreshToken();
56
+ return await getNitroAuth().refreshToken();
53
57
  } catch (e) {
54
58
  throw AuthError.from(e);
55
59
  }
56
60
  },
57
61
  logout() {
58
- nitroAuth.logout();
62
+ getNitroAuth().logout();
59
63
  },
60
64
  async silentRestore() {
61
65
  try {
62
- await nitroAuth.silentRestore();
66
+ await getNitroAuth().silentRestore();
63
67
  return;
64
68
  } catch (e) {
65
69
  throw AuthError.from(e);
66
70
  }
67
71
  },
68
72
  onAuthStateChanged(callback) {
69
- return nitroAuth.onAuthStateChanged(callback);
73
+ return getNitroAuth().onAuthStateChanged(callback);
70
74
  },
71
75
  onTokensRefreshed(callback) {
72
- return nitroAuth.onTokensRefreshed(callback);
76
+ return getNitroAuth().onTokensRefreshed(callback);
73
77
  },
74
78
  setLoggingEnabled(enabled) {
75
- nitroAuth.setLoggingEnabled(enabled);
79
+ getNitroAuth().setLoggingEnabled(enabled);
76
80
  },
77
81
  dispose() {
78
- nitroAuth.dispose();
82
+ getNitroAuth().dispose();
79
83
  },
80
84
  equals(other) {
81
- return nitroAuth.equals(other);
85
+ return getNitroAuth().equals(other);
82
86
  }
83
87
  };
84
88
  //# sourceMappingURL=service.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NitroModules","AuthError","nitroAuth","createHybridObject","AuthService","name","currentUser","grantedScopes","hasPlayServices","login","provider","options","e","from","requestScopes","scopes","revokeScopes","getAccessToken","refreshToken","logout","silentRestore","onAuthStateChanged","callback","onTokensRefreshed","setLoggingEnabled","enabled","dispose","equals","other"],"sourceRoot":"../../src","sources":["service.ts"],"mappings":";;AAAA,SAASA,YAAY,QAAQ,4BAA4B;AAQzD,SAASC,SAAS,QAAQ,uBAAoB;AAE9C,MAAMC,SAAS,GAAGF,YAAY,CAACG,kBAAkB,CAAO,MAAM,CAAC;AAE/D,OAAO,MAAMC,WAAiB,GAAG;EAC/B,IAAIC,IAAIA,CAAA,EAAG;IACT,OAAOH,SAAS,CAACG,IAAI;EACvB,CAAC;EAED,IAAIC,WAAWA,CAAA,EAAG;IAChB,OAAOJ,SAAS,CAACI,WAAW;EAC9B,CAAC;EAED,IAAIC,aAAaA,CAAA,EAAG;IAClB,OAAOL,SAAS,CAACK,aAAa;EAChC,CAAC;EAED,IAAIC,eAAeA,CAAA,EAAG;IACpB,OAAON,SAAS,CAACM,eAAe;EAClC,CAAC;EAED,MAAMC,KAAKA,CAACC,QAAsB,EAAEC,OAAsB,EAAE;IAC1D,IAAI;MACF,MAAMT,SAAS,CAACO,KAAK,CAACC,QAAQ,EAAEC,OAAO,CAAC;MACxC;IACF,CAAC,CAAC,OAAOC,CAAC,EAAE;MACV,MAAMX,SAAS,CAACY,IAAI,CAACD,CAAC,CAAC;IACzB;EACF,CAAC;EAED,MAAME,aAAaA,CAACC,MAAgB,EAAE;IACpC,IAAI;MACF,MAAMb,SAAS,CAACY,aAAa,CAACC,MAAM,CAAC;MACrC;IACF,CAAC,CAAC,OAAOH,CAAC,EAAE;MACV,MAAMX,SAAS,CAACY,IAAI,CAACD,CAAC,CAAC;IACzB;EACF,CAAC;EAED,MAAMI,YAAYA,CAACD,MAAgB,EAAE;IACnC,IAAI;MACF,MAAMb,SAAS,CAACc,YAAY,CAACD,MAAM,CAAC;MACpC;IACF,CAAC,CAAC,OAAOH,CAAC,EAAE;MACV,MAAMX,SAAS,CAACY,IAAI,CAACD,CAAC,CAAC;IACzB;EACF,CAAC;EAED,MAAMK,cAAcA,CAAA,EAAG;IACrB,IAAI;MACF,OAAO,MAAMf,SAAS,CAACe,cAAc,CAAC,CAAC;IACzC,CAAC,CAAC,OAAOL,CAAC,EAAE;MACV,MAAMX,SAAS,CAACY,IAAI,CAACD,CAAC,CAAC;IACzB;EACF,CAAC;EAED,MAAMM,YAAYA,CAAA,EAAG;IACnB,IAAI;MACF,OAAO,MAAMhB,SAAS,CAACgB,YAAY,CAAC,CAAC;IACvC,CAAC,CAAC,OAAON,CAAC,EAAE;MACV,MAAMX,SAAS,CAACY,IAAI,CAACD,CAAC,CAAC;IACzB;EACF,CAAC;EAEDO,MAAMA,CAAA,EAAG;IACPjB,SAAS,CAACiB,MAAM,CAAC,CAAC;EACpB,CAAC;EAED,MAAMC,aAAaA,CAAA,EAAG;IACpB,IAAI;MACF,MAAMlB,SAAS,CAACkB,aAAa,CAAC,CAAC;MAC/B;IACF,CAAC,CAAC,OAAOR,CAAC,EAAE;MACV,MAAMX,SAAS,CAACY,IAAI,CAACD,CAAC,CAAC;IACzB;EACF,CAAC;EAEDS,kBAAkBA,CAACC,QAA8C,EAAE;IACjE,OAAOpB,SAAS,CAACmB,kBAAkB,CAACC,QAAQ,CAAC;EAC/C,CAAC;EAEDC,iBAAiBA,CAACD,QAAsC,EAAE;IACxD,OAAOpB,SAAS,CAACqB,iBAAiB,CAACD,QAAQ,CAAC;EAC9C,CAAC;EAEDE,iBAAiBA,CAACC,OAAgB,EAAE;IAClCvB,SAAS,CAACsB,iBAAiB,CAACC,OAAO,CAAC;EACtC,CAAC;EAEDC,OAAOA,CAAA,EAAG;IACRxB,SAAS,CAACwB,OAAO,CAAC,CAAC;EACrB,CAAC;EAEDC,MAAMA,CAACC,KAAoC,EAAW;IACpD,OAAO1B,SAAS,CAACyB,MAAM,CAACC,KAAK,CAAC;EAChC;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["NitroModules","AuthError","nitroAuth","getNitroAuth","createHybridObject","AuthService","name","currentUser","grantedScopes","hasPlayServices","login","provider","options","e","from","requestScopes","scopes","revokeScopes","getAccessToken","refreshToken","logout","silentRestore","onAuthStateChanged","callback","onTokensRefreshed","setLoggingEnabled","enabled","dispose","equals","other"],"sourceRoot":"../../src","sources":["service.ts"],"mappings":"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","ignoreList":[]}
@@ -3,14 +3,25 @@
3
3
  import { useState, useEffect, useCallback, useMemo } from "react";
4
4
  import { AuthService } from "./service";
5
5
  import { AuthError } from "./utils/auth-error.js";
6
+ const EMPTY_SCOPES = [];
6
7
  const areScopesEqual = (left, right) => {
8
+ if (left === right) return true;
7
9
  if (left.length !== right.length) return false;
8
- const sortedLeft = [...left].sort();
9
- const sortedRight = [...right].sort();
10
- for (let i = 0; i < sortedLeft.length; i += 1) {
11
- if (sortedLeft[i] !== sortedRight[i]) return false;
10
+ let matchesInOrder = true;
11
+ for (let i = 0; i < left.length; i += 1) {
12
+ if (left[i] !== right[i]) {
13
+ matchesInOrder = false;
14
+ break;
15
+ }
16
+ }
17
+ if (matchesInOrder) return true;
18
+ const remaining = new Set(left);
19
+ for (const scope of right) {
20
+ if (!remaining.delete(scope)) {
21
+ return false;
22
+ }
12
23
  }
13
- return true;
24
+ return remaining.size === 0;
14
25
  };
15
26
  export function useAuth() {
16
27
  const [state, setState] = useState({
@@ -55,11 +66,16 @@ export function useAuth() {
55
66
  }, [syncStateFromService]);
56
67
  const logout = useCallback(() => {
57
68
  AuthService.logout();
58
- setState({
59
- user: undefined,
60
- scopes: [],
61
- loading: false,
62
- error: undefined
69
+ setState(prev => {
70
+ if (prev.user === undefined && prev.scopes.length === 0 && prev.loading === false && prev.error === undefined) {
71
+ return prev;
72
+ }
73
+ return {
74
+ user: undefined,
75
+ scopes: EMPTY_SCOPES,
76
+ loading: false,
77
+ error: undefined
78
+ };
63
79
  });
64
80
  }, []);
65
81
  const requestScopes = useCallback(async newScopes => {
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useEffect","useCallback","useMemo","AuthService","AuthError","areScopesEqual","left","right","length","sortedLeft","sort","sortedRight","i","useAuth","state","setState","user","currentUser","scopes","grantedScopes","loading","error","undefined","syncStateFromService","nextLoading","nextError","nextUser","nextScopes","prev","login","provider","options","e","from","logout","requestScopes","newScopes","revokeScopes","scopesToRevoke","getAccessToken","refreshToken","tokens","silentRestore","unsubscribeAuth","onAuthStateChanged","unsubscribeTokens","onTokensRefreshed","hasPlayServices"],"sourceRoot":"../../src","sources":["use-auth.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","useEffect","useCallback","useMemo","AuthService","AuthError","EMPTY_SCOPES","areScopesEqual","left","right","length","matchesInOrder","i","remaining","Set","scope","delete","size","useAuth","state","setState","user","currentUser","scopes","grantedScopes","loading","error","undefined","syncStateFromService","nextLoading","nextError","nextUser","nextScopes","prev","login","provider","options","e","from","logout","requestScopes","newScopes","revokeScopes","scopesToRevoke","getAccessToken","refreshToken","tokens","silentRestore","unsubscribeAuth","onAuthStateChanged","unsubscribeTokens","onTokensRefreshed","hasPlayServices"],"sourceRoot":"../../src","sources":["use-auth.ts"],"mappings":"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","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- const AUTH_ERROR_CODES = new Set(["cancelled", "timeout", "popup_blocked", "network_error", "configuration_error", "unsupported_provider", "invalid_state", "invalid_nonce", "token_error", "no_id_token", "parse_error", "refresh_failed", "unknown"]);
3
+ const AUTH_ERROR_CODES = new Set(["cancelled", "timeout", "popup_blocked", "network_error", "configuration_error", "not_signed_in", "operation_in_progress", "unsupported_provider", "invalid_state", "invalid_nonce", "token_error", "no_id_token", "parse_error", "refresh_failed", "unknown"]);
4
4
  export function isAuthErrorCode(value) {
5
5
  return AUTH_ERROR_CODES.has(value);
6
6
  }
@@ -1 +1 @@
1
- {"version":3,"names":["AUTH_ERROR_CODES","Set","isAuthErrorCode","value","has","toAuthErrorCode","raw","AuthError","Error","constructor","message","String","code","name","underlyingMessage","undefined","from","e"],"sourceRoot":"../../../src","sources":["utils/auth-error.ts"],"mappings":";;AAEA,MAAMA,gBAAqC,GAAG,IAAIC,GAAG,CAAgB,CACnE,WAAW,EACX,SAAS,EACT,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,SAAS,CACV,CAAC;AAEF,OAAO,SAASC,eAAeA,CAACC,KAAa,EAA0B;EACrE,OAAOH,gBAAgB,CAACI,GAAG,CAACD,KAAK,CAAC;AACpC;AAEA,OAAO,SAASE,eAAeA,CAACC,GAAW,EAAiB;EAC1D,OAAOJ,eAAe,CAACI,GAAG,CAAC,GAAGA,GAAG,GAAG,SAAS;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,SAASC,KAAK,CAAC;EAInCC,WAAWA,CAACH,GAAY,EAAE;IACxB,MAAMI,OAAO,GAAGJ,GAAG,YAAYE,KAAK,GAAGF,GAAG,CAACI,OAAO,GAAGC,MAAM,CAACL,GAAG,CAAC;IAChE,MAAMM,IAAI,GAAGP,eAAe,CAACK,OAAO,CAAC;IACrC,KAAK,CAACE,IAAI,CAAC;IACX,IAAI,CAACC,IAAI,GAAG,WAAW;IACvB,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACE,iBAAiB,GAAGF,IAAI,KAAKF,OAAO,GAAGA,OAAO,GAAGK,SAAS;EACjE;EAEA,OAAOC,IAAIA,CAACC,CAAU,EAAa;IACjC,OAAOA,CAAC,YAAYV,SAAS,GAAGU,CAAC,GAAG,IAAIV,SAAS,CAACU,CAAC,CAAC;EACtD;AACF","ignoreList":[]}
1
+ {"version":3,"names":["AUTH_ERROR_CODES","Set","isAuthErrorCode","value","has","toAuthErrorCode","raw","AuthError","Error","constructor","message","String","code","name","underlyingMessage","undefined","from","e"],"sourceRoot":"../../../src","sources":["utils/auth-error.ts"],"mappings":";;AAEA,MAAMA,gBAAqC,GAAG,IAAIC,GAAG,CAAgB,CACnE,WAAW,EACX,SAAS,EACT,eAAe,EACf,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,sBAAsB,EACtB,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,SAAS,CACV,CAAC;AAEF,OAAO,SAASC,eAAeA,CAACC,KAAa,EAA0B;EACrE,OAAOH,gBAAgB,CAACI,GAAG,CAACD,KAAK,CAAC;AACpC;AAEA,OAAO,SAASE,eAAeA,CAACC,GAAW,EAAiB;EAC1D,OAAOJ,eAAe,CAACI,GAAG,CAAC,GAAGA,GAAG,GAAG,SAAS;AAC/C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMC,SAAS,SAASC,KAAK,CAAC;EAInCC,WAAWA,CAACH,GAAY,EAAE;IACxB,MAAMI,OAAO,GAAGJ,GAAG,YAAYE,KAAK,GAAGF,GAAG,CAACI,OAAO,GAAGC,MAAM,CAACL,GAAG,CAAC;IAChE,MAAMM,IAAI,GAAGP,eAAe,CAACK,OAAO,CAAC;IACrC,KAAK,CAACE,IAAI,CAAC;IACX,IAAI,CAACC,IAAI,GAAG,WAAW;IACvB,IAAI,CAACD,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACE,iBAAiB,GAAGF,IAAI,KAAKF,OAAO,GAAGA,OAAO,GAAGK,SAAS;EACjE;EAEA,OAAOC,IAAIA,CAACC,CAAU,EAAa;IACjC,OAAOA,CAAC,YAAYV,SAAS,GAAGU,CAAC,GAAG,IAAIV,SAAS,CAACU,CAAC,CAAC;EACtD;AACF","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import type { HybridObject } from "react-native-nitro-modules";
2
2
  export type AuthProvider = "google" | "apple" | "microsoft";
3
- export type AuthErrorCode = "cancelled" | "timeout" | "popup_blocked" | "network_error" | "configuration_error" | "unsupported_provider" | "invalid_state" | "invalid_nonce" | "token_error" | "no_id_token" | "parse_error" | "refresh_failed" | "unknown";
3
+ export type AuthErrorCode = "cancelled" | "timeout" | "popup_blocked" | "network_error" | "configuration_error" | "not_signed_in" | "operation_in_progress" | "unsupported_provider" | "invalid_state" | "invalid_nonce" | "token_error" | "no_id_token" | "parse_error" | "refresh_failed" | "unknown";
4
4
  export type MicrosoftPrompt = "login" | "consent" | "select_account" | "none";
5
5
  export interface LoginOptions {
6
6
  scopes?: string[];
@@ -8,7 +8,7 @@ export interface LoginOptions {
8
8
  useOneTap?: boolean;
9
9
  /** (iOS only) Use native sign-in sheet */
10
10
  useSheet?: boolean;
11
- /** Force account picker to show, ignoring any cached session or loginHint */
11
+ /** Force account picker to show, ignoring any cached session or loginHint. On Android Google, this uses the legacy chooser path. */
12
12
  forceAccountPicker?: boolean;
13
13
  /** (Android only) Use legacy Google Sign-In flow (e.g. for serverAuthCode) */
14
14
  useLegacyGoogleSignIn?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.nitro.d.ts","sourceRoot":"","sources":["../../../src/Auth.nitro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Auth.nitro.d.ts","sourceRoot":"","sources":["../../../src/Auth.nitro.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EAKL,MAAM,cAAc,CAAC;AAKtB,eAAO,MAAM,WAAW,EAAE,IA4FzB,CAAC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EAKL,MAAM,cAAc,CAAC;AAUtB,eAAO,MAAM,WAAW,EAAE,IA4FzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../../src/use-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;CAC9B,CAAC;AAYF,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG;IACtC,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAClD,YAAY,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAgB,OAAO,IAAI,aAAa,CAgKvC"}
1
+ {"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../../src/use-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI/C,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;CAC9B,CAAC;AAwBF,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG;IACtC,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAClD,YAAY,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAgB,OAAO,IAAI,aAAa,CA+KvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth-error.d.ts","sourceRoot":"","sources":["../../../../src/utils/auth-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAkBnD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAErE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAE1D;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEnC,GAAG,EAAE,OAAO;IASxB,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS;CAGnC"}
1
+ {"version":3,"file":"auth-error.d.ts","sourceRoot":"","sources":["../../../../src/utils/auth-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAoBnD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAErE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAE1D;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEnC,GAAG,EAAE,OAAO;IASxB,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS;CAGnC"}
@@ -1,6 +1,6 @@
1
1
  import type { HybridObject } from "react-native-nitro-modules";
2
2
  export type AuthProvider = "google" | "apple" | "microsoft";
3
- export type AuthErrorCode = "cancelled" | "timeout" | "popup_blocked" | "network_error" | "configuration_error" | "unsupported_provider" | "invalid_state" | "invalid_nonce" | "token_error" | "no_id_token" | "parse_error" | "refresh_failed" | "unknown";
3
+ export type AuthErrorCode = "cancelled" | "timeout" | "popup_blocked" | "network_error" | "configuration_error" | "not_signed_in" | "operation_in_progress" | "unsupported_provider" | "invalid_state" | "invalid_nonce" | "token_error" | "no_id_token" | "parse_error" | "refresh_failed" | "unknown";
4
4
  export type MicrosoftPrompt = "login" | "consent" | "select_account" | "none";
5
5
  export interface LoginOptions {
6
6
  scopes?: string[];
@@ -8,7 +8,7 @@ export interface LoginOptions {
8
8
  useOneTap?: boolean;
9
9
  /** (iOS only) Use native sign-in sheet */
10
10
  useSheet?: boolean;
11
- /** Force account picker to show, ignoring any cached session or loginHint */
11
+ /** Force account picker to show, ignoring any cached session or loginHint. On Android Google, this uses the legacy chooser path. */
12
12
  forceAccountPicker?: boolean;
13
13
  /** (Android only) Use legacy Google Sign-In flow (e.g. for serverAuthCode) */
14
14
  useLegacyGoogleSignIn?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.nitro.d.ts","sourceRoot":"","sources":["../../../src/Auth.nitro.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Auth.nitro.d.ts","sourceRoot":"","sources":["../../../src/Auth.nitro.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EAKL,MAAM,cAAc,CAAC;AAKtB,eAAO,MAAM,WAAW,EAAE,IA4FzB,CAAC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EAKL,MAAM,cAAc,CAAC;AAUtB,eAAO,MAAM,WAAW,EAAE,IA4FzB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../../src/use-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;CAC9B,CAAC;AAYF,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG;IACtC,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAClD,YAAY,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAgB,OAAO,IAAI,aAAa,CAgKvC"}
1
+ {"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../../src/use-auth.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAI/C,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,SAAS,GAAG,SAAS,CAAC;CAC9B,CAAC;AAwBF,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG;IACtC,eAAe,EAAE,OAAO,CAAC;IACzB,KAAK,EAAE,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACzE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnD,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAClD,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAClD,YAAY,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;IACxC,aAAa,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACpC,CAAC;AAEF,wBAAgB,OAAO,IAAI,aAAa,CA+KvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"auth-error.d.ts","sourceRoot":"","sources":["../../../../src/utils/auth-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAkBnD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAErE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAE1D;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEnC,GAAG,EAAE,OAAO;IASxB,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS;CAGnC"}
1
+ {"version":3,"file":"auth-error.d.ts","sourceRoot":"","sources":["../../../../src/utils/auth-error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAoBnD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,aAAa,CAErE;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,aAAa,CAE1D;AAED;;;;;GAKG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAClC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,MAAM,GAAG,SAAS,CAAC;gBAEnC,GAAG,EAAE,OAAO;IASxB,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,SAAS;CAGnC"}
package/nitro.json CHANGED
@@ -9,7 +9,10 @@
9
9
  },
10
10
  "autolinking": {
11
11
  "Auth": {
12
- "cpp": "HybridAuth"
12
+ "all": {
13
+ "language": "c++",
14
+ "implementationClassName": "HybridAuth"
15
+ }
13
16
  }
14
17
  }
15
18
  }
@@ -56,5 +56,7 @@ def add_nitrogen_files(spec)
56
56
  "SWIFT_OBJC_INTEROP_MODE" => "objcxx",
57
57
  # Enables stricter modular headers
58
58
  "DEFINES_MODULE" => "YES",
59
+ # Disable auto-generated ObjC header for Swift (Static linkage on Xcode 26.4 breaks here)
60
+ "SWIFT_INSTALL_OBJC_HEADER" => "NO",
59
61
  })
60
62
  end
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-nitro-auth",
3
- "version": "0.5.6",
3
+ "version": "0.5.7",
4
4
  "description": "High-performance authentication library for React Native with Google Sign-In, Apple Sign-In, and Microsoft Sign-In support, powered by Nitro Modules (JSI)",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -33,9 +33,10 @@
33
33
  "build": "bob build",
34
34
  "clean": "rimraf lib nitrogen/generated",
35
35
  "codegen": "nitrogen --logLevel=\"debug\"",
36
+ "format:check": "eslint .",
36
37
  "lint": "eslint .",
37
38
  "typecheck": "tsc --noEmit",
38
- "test": "jest",
39
+ "test": "jest",
39
40
  "test:coverage": "jest --coverage",
40
41
  "test:cpp": "node scripts/test-cpp.js",
41
42
  "prepublishOnly": "bun run clean && bun run build",
@@ -86,7 +87,7 @@
86
87
  "jest-environment-jsdom": "^29.7.0",
87
88
  "react": "19.2.0",
88
89
  "react-native": "0.83.2",
89
- "react-native-nitro-modules": "^0.35.0",
90
+ "react-native-nitro-modules": "^0.35.4",
90
91
  "react-native-web": "^0.21.2",
91
92
  "typescript": "^5.9.3"
92
93
  },
package/src/Auth.nitro.ts CHANGED
@@ -8,6 +8,8 @@ export type AuthErrorCode =
8
8
  | "popup_blocked"
9
9
  | "network_error"
10
10
  | "configuration_error"
11
+ | "not_signed_in"
12
+ | "operation_in_progress"
11
13
  | "unsupported_provider"
12
14
  | "invalid_state"
13
15
  | "invalid_nonce"
@@ -25,7 +27,7 @@ export interface LoginOptions {
25
27
  useOneTap?: boolean;
26
28
  /** (iOS only) Use native sign-in sheet */
27
29
  useSheet?: boolean;
28
- /** Force account picker to show, ignoring any cached session or loginHint */
30
+ /** Force account picker to show, ignoring any cached session or loginHint. On Android Google, this uses the legacy chooser path. */
29
31
  forceAccountPicker?: boolean;
30
32
  /** (Android only) Use legacy Google Sign-In flow (e.g. for serverAuthCode) */
31
33
  useLegacyGoogleSignIn?: boolean;
package/src/service.ts CHANGED
@@ -8,28 +8,33 @@ import type {
8
8
  } from "./Auth.nitro";
9
9
  import { AuthError } from "./utils/auth-error";
10
10
 
11
- const nitroAuth = NitroModules.createHybridObject<Auth>("Auth");
11
+ let nitroAuth: Auth | undefined;
12
+
13
+ function getNitroAuth(): Auth {
14
+ nitroAuth ??= NitroModules.createHybridObject<Auth>("Auth");
15
+ return nitroAuth;
16
+ }
12
17
 
13
18
  export const AuthService: Auth = {
14
19
  get name() {
15
- return nitroAuth.name;
20
+ return getNitroAuth().name;
16
21
  },
17
22
 
18
23
  get currentUser() {
19
- return nitroAuth.currentUser;
24
+ return getNitroAuth().currentUser;
20
25
  },
21
26
 
22
27
  get grantedScopes() {
23
- return nitroAuth.grantedScopes;
28
+ return getNitroAuth().grantedScopes;
24
29
  },
25
30
 
26
31
  get hasPlayServices() {
27
- return nitroAuth.hasPlayServices;
32
+ return getNitroAuth().hasPlayServices;
28
33
  },
29
34
 
30
35
  async login(provider: AuthProvider, options?: LoginOptions) {
31
36
  try {
32
- await nitroAuth.login(provider, options);
37
+ await getNitroAuth().login(provider, options);
33
38
  return;
34
39
  } catch (e) {
35
40
  throw AuthError.from(e);
@@ -38,7 +43,7 @@ export const AuthService: Auth = {
38
43
 
39
44
  async requestScopes(scopes: string[]) {
40
45
  try {
41
- await nitroAuth.requestScopes(scopes);
46
+ await getNitroAuth().requestScopes(scopes);
42
47
  return;
43
48
  } catch (e) {
44
49
  throw AuthError.from(e);
@@ -47,7 +52,7 @@ export const AuthService: Auth = {
47
52
 
48
53
  async revokeScopes(scopes: string[]) {
49
54
  try {
50
- await nitroAuth.revokeScopes(scopes);
55
+ await getNitroAuth().revokeScopes(scopes);
51
56
  return;
52
57
  } catch (e) {
53
58
  throw AuthError.from(e);
@@ -56,7 +61,7 @@ export const AuthService: Auth = {
56
61
 
57
62
  async getAccessToken() {
58
63
  try {
59
- return await nitroAuth.getAccessToken();
64
+ return await getNitroAuth().getAccessToken();
60
65
  } catch (e) {
61
66
  throw AuthError.from(e);
62
67
  }
@@ -64,19 +69,19 @@ export const AuthService: Auth = {
64
69
 
65
70
  async refreshToken() {
66
71
  try {
67
- return await nitroAuth.refreshToken();
72
+ return await getNitroAuth().refreshToken();
68
73
  } catch (e) {
69
74
  throw AuthError.from(e);
70
75
  }
71
76
  },
72
77
 
73
78
  logout() {
74
- nitroAuth.logout();
79
+ getNitroAuth().logout();
75
80
  },
76
81
 
77
82
  async silentRestore() {
78
83
  try {
79
- await nitroAuth.silentRestore();
84
+ await getNitroAuth().silentRestore();
80
85
  return;
81
86
  } catch (e) {
82
87
  throw AuthError.from(e);
@@ -84,22 +89,22 @@ export const AuthService: Auth = {
84
89
  },
85
90
 
86
91
  onAuthStateChanged(callback: (user: AuthUser | undefined) => void) {
87
- return nitroAuth.onAuthStateChanged(callback);
92
+ return getNitroAuth().onAuthStateChanged(callback);
88
93
  },
89
94
 
90
95
  onTokensRefreshed(callback: (tokens: AuthTokens) => void) {
91
- return nitroAuth.onTokensRefreshed(callback);
96
+ return getNitroAuth().onTokensRefreshed(callback);
92
97
  },
93
98
 
94
99
  setLoggingEnabled(enabled: boolean) {
95
- nitroAuth.setLoggingEnabled(enabled);
100
+ getNitroAuth().setLoggingEnabled(enabled);
96
101
  },
97
102
 
98
103
  dispose() {
99
- nitroAuth.dispose();
104
+ getNitroAuth().dispose();
100
105
  },
101
106
 
102
107
  equals(other: Parameters<Auth["equals"]>[0]): boolean {
103
- return nitroAuth.equals(other);
108
+ return getNitroAuth().equals(other);
104
109
  },
105
110
  };
package/src/use-auth.ts CHANGED
@@ -8,6 +8,8 @@ import type {
8
8
  import { AuthService } from "./service";
9
9
  import { AuthError } from "./utils/auth-error";
10
10
 
11
+ const EMPTY_SCOPES: string[] = [];
12
+
11
13
  type AuthState = {
12
14
  user: AuthUser | undefined;
13
15
  scopes: string[];
@@ -16,13 +18,25 @@ type AuthState = {
16
18
  };
17
19
 
18
20
  const areScopesEqual = (left: string[], right: string[]): boolean => {
21
+ if (left === right) return true;
19
22
  if (left.length !== right.length) return false;
20
- const sortedLeft = [...left].sort();
21
- const sortedRight = [...right].sort();
22
- for (let i = 0; i < sortedLeft.length; i += 1) {
23
- if (sortedLeft[i] !== sortedRight[i]) return false;
23
+
24
+ let matchesInOrder = true;
25
+ for (let i = 0; i < left.length; i += 1) {
26
+ if (left[i] !== right[i]) {
27
+ matchesInOrder = false;
28
+ break;
29
+ }
30
+ }
31
+ if (matchesInOrder) return true;
32
+
33
+ const remaining = new Set(left);
34
+ for (const scope of right) {
35
+ if (!remaining.delete(scope)) {
36
+ return false;
37
+ }
24
38
  }
25
- return true;
39
+ return remaining.size === 0;
26
40
  };
27
41
 
28
42
  export type UseAuthReturn = AuthState & {
@@ -85,7 +99,22 @@ export function useAuth(): UseAuthReturn {
85
99
 
86
100
  const logout = useCallback(() => {
87
101
  AuthService.logout();
88
- setState({ user: undefined, scopes: [], loading: false, error: undefined });
102
+ setState((prev) => {
103
+ if (
104
+ prev.user === undefined &&
105
+ prev.scopes.length === 0 &&
106
+ prev.loading === false &&
107
+ prev.error === undefined
108
+ ) {
109
+ return prev;
110
+ }
111
+ return {
112
+ user: undefined,
113
+ scopes: EMPTY_SCOPES,
114
+ loading: false,
115
+ error: undefined,
116
+ };
117
+ });
89
118
  }, []);
90
119
 
91
120
  const requestScopes = useCallback(
@@ -6,6 +6,8 @@ const AUTH_ERROR_CODES: ReadonlySet<string> = new Set<AuthErrorCode>([
6
6
  "popup_blocked",
7
7
  "network_error",
8
8
  "configuration_error",
9
+ "not_signed_in",
10
+ "operation_in_progress",
9
11
  "unsupported_provider",
10
12
  "invalid_state",
11
13
  "invalid_nonce",