react-native-nitro-auth 0.5.1 → 0.5.4

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 (126) hide show
  1. package/README.md +362 -190
  2. package/android/build.gradle +2 -5
  3. package/android/src/main/cpp/PlatformAuth+Android.cpp +84 -18
  4. package/android/src/main/java/com/auth/AuthAdapter.kt +82 -182
  5. package/android/src/main/java/com/auth/NitroAuthPackage.kt +1 -1
  6. package/app.plugin.js +2 -9
  7. package/cpp/AuthCache.cpp +0 -134
  8. package/cpp/AuthCache.hpp +0 -7
  9. package/cpp/HybridAuth.cpp +57 -63
  10. package/cpp/HybridAuth.hpp +3 -4
  11. package/ios/AuthAdapter.swift +23 -25
  12. package/lib/commonjs/Auth.web.js +523 -201
  13. package/lib/commonjs/Auth.web.js.map +1 -1
  14. package/lib/commonjs/index.js +0 -12
  15. package/lib/commonjs/index.js.map +1 -1
  16. package/lib/commonjs/index.web.js +0 -12
  17. package/lib/commonjs/index.web.js.map +1 -1
  18. package/lib/commonjs/js-storage-adapter.js +2 -0
  19. package/lib/commonjs/js-storage-adapter.js.map +1 -0
  20. package/lib/commonjs/service.js +9 -86
  21. package/lib/commonjs/service.js.map +1 -1
  22. package/lib/commonjs/service.web.js +1 -5
  23. package/lib/commonjs/service.web.js.map +1 -1
  24. package/lib/commonjs/ui/social-button.js +44 -29
  25. package/lib/commonjs/ui/social-button.js.map +1 -1
  26. package/lib/commonjs/ui/social-button.web.js +44 -29
  27. package/lib/commonjs/ui/social-button.web.js.map +1 -1
  28. package/lib/commonjs/use-auth.js +56 -42
  29. package/lib/commonjs/use-auth.js.map +1 -1
  30. package/lib/commonjs/utils/logger.js +12 -4
  31. package/lib/commonjs/utils/logger.js.map +1 -1
  32. package/lib/module/Auth.web.js +523 -201
  33. package/lib/module/Auth.web.js.map +1 -1
  34. package/lib/module/index.js +0 -1
  35. package/lib/module/index.js.map +1 -1
  36. package/lib/module/index.web.js +0 -1
  37. package/lib/module/index.web.js.map +1 -1
  38. package/lib/module/js-storage-adapter.js +2 -0
  39. package/lib/module/js-storage-adapter.js.map +1 -0
  40. package/lib/module/service.js +9 -86
  41. package/lib/module/service.js.map +1 -1
  42. package/lib/module/service.web.js +1 -5
  43. package/lib/module/service.web.js.map +1 -1
  44. package/lib/module/ui/social-button.js +44 -29
  45. package/lib/module/ui/social-button.js.map +1 -1
  46. package/lib/module/ui/social-button.web.js +44 -29
  47. package/lib/module/ui/social-button.web.js.map +1 -1
  48. package/lib/module/use-auth.js +56 -42
  49. package/lib/module/use-auth.js.map +1 -1
  50. package/lib/module/utils/logger.js +12 -4
  51. package/lib/module/utils/logger.js.map +1 -1
  52. package/lib/typescript/commonjs/Auth.nitro.d.ts +3 -3
  53. package/lib/typescript/commonjs/Auth.nitro.d.ts.map +1 -1
  54. package/lib/typescript/commonjs/Auth.web.d.ts +25 -6
  55. package/lib/typescript/commonjs/Auth.web.d.ts.map +1 -1
  56. package/lib/typescript/commonjs/index.d.ts +1 -2
  57. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  58. package/lib/typescript/commonjs/index.web.d.ts +0 -1
  59. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  60. package/lib/typescript/commonjs/js-storage-adapter.d.ts +6 -0
  61. package/lib/typescript/commonjs/js-storage-adapter.d.ts.map +1 -0
  62. package/lib/typescript/commonjs/service.d.ts +1 -8
  63. package/lib/typescript/commonjs/service.d.ts.map +1 -1
  64. package/lib/typescript/commonjs/service.web.d.ts +1 -8
  65. package/lib/typescript/commonjs/service.web.d.ts.map +1 -1
  66. package/lib/typescript/commonjs/ui/social-button.d.ts +6 -6
  67. package/lib/typescript/commonjs/ui/social-button.d.ts.map +1 -1
  68. package/lib/typescript/commonjs/ui/social-button.web.d.ts +6 -6
  69. package/lib/typescript/commonjs/ui/social-button.web.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/use-auth.d.ts +4 -4
  71. package/lib/typescript/commonjs/use-auth.d.ts.map +1 -1
  72. package/lib/typescript/commonjs/utils/logger.d.ts +4 -4
  73. package/lib/typescript/commonjs/utils/logger.d.ts.map +1 -1
  74. package/lib/typescript/module/Auth.nitro.d.ts +3 -3
  75. package/lib/typescript/module/Auth.nitro.d.ts.map +1 -1
  76. package/lib/typescript/module/Auth.web.d.ts +25 -6
  77. package/lib/typescript/module/Auth.web.d.ts.map +1 -1
  78. package/lib/typescript/module/index.d.ts +1 -2
  79. package/lib/typescript/module/index.d.ts.map +1 -1
  80. package/lib/typescript/module/index.web.d.ts +0 -1
  81. package/lib/typescript/module/index.web.d.ts.map +1 -1
  82. package/lib/typescript/module/js-storage-adapter.d.ts +6 -0
  83. package/lib/typescript/module/js-storage-adapter.d.ts.map +1 -0
  84. package/lib/typescript/module/service.d.ts +1 -8
  85. package/lib/typescript/module/service.d.ts.map +1 -1
  86. package/lib/typescript/module/service.web.d.ts +1 -8
  87. package/lib/typescript/module/service.web.d.ts.map +1 -1
  88. package/lib/typescript/module/ui/social-button.d.ts +6 -6
  89. package/lib/typescript/module/ui/social-button.d.ts.map +1 -1
  90. package/lib/typescript/module/ui/social-button.web.d.ts +6 -6
  91. package/lib/typescript/module/ui/social-button.web.d.ts.map +1 -1
  92. package/lib/typescript/module/use-auth.d.ts +4 -4
  93. package/lib/typescript/module/use-auth.d.ts.map +1 -1
  94. package/lib/typescript/module/utils/logger.d.ts +4 -4
  95. package/lib/typescript/module/utils/logger.d.ts.map +1 -1
  96. package/nitrogen/generated/android/NitroAuth+autolinking.cmake +0 -1
  97. package/nitrogen/generated/shared/c++/AuthTokens.hpp +5 -1
  98. package/nitrogen/generated/shared/c++/AuthUser.hpp +5 -1
  99. package/nitrogen/generated/shared/c++/HybridAuthSpec.cpp +0 -1
  100. package/nitrogen/generated/shared/c++/HybridAuthSpec.hpp +0 -5
  101. package/package.json +11 -8
  102. package/react-native-nitro-auth.podspec +1 -1
  103. package/src/Auth.nitro.ts +4 -3
  104. package/src/Auth.web.ts +700 -246
  105. package/src/global.d.ts +0 -1
  106. package/src/index.ts +1 -2
  107. package/src/index.web.ts +0 -1
  108. package/src/js-storage-adapter.ts +5 -0
  109. package/src/service.ts +13 -106
  110. package/src/service.web.ts +0 -7
  111. package/src/ui/social-button.tsx +66 -43
  112. package/src/ui/social-button.web.tsx +67 -44
  113. package/src/use-auth.ts +116 -72
  114. package/src/utils/logger.ts +12 -4
  115. package/ios/KeychainStore.swift +0 -43
  116. package/lib/commonjs/AuthStorage.nitro.js +0 -6
  117. package/lib/commonjs/AuthStorage.nitro.js.map +0 -1
  118. package/lib/module/AuthStorage.nitro.js +0 -4
  119. package/lib/module/AuthStorage.nitro.js.map +0 -1
  120. package/lib/typescript/commonjs/AuthStorage.nitro.d.ts +0 -26
  121. package/lib/typescript/commonjs/AuthStorage.nitro.d.ts.map +0 -1
  122. package/lib/typescript/module/AuthStorage.nitro.d.ts +0 -26
  123. package/lib/typescript/module/AuthStorage.nitro.d.ts.map +0 -1
  124. package/nitrogen/generated/shared/c++/HybridAuthStorageAdapterSpec.cpp +0 -23
  125. package/nitrogen/generated/shared/c++/HybridAuthStorageAdapterSpec.hpp +0 -65
  126. package/src/AuthStorage.nitro.ts +0 -26
@@ -4,6 +4,28 @@ import React, { useState } from "react";
4
4
  import { Pressable, Text, StyleSheet, View, ActivityIndicator } from "react-native";
5
5
  import { AuthModule } from "../Auth.web.js";
6
6
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
7
+ const PROVIDER_LABELS = {
8
+ google: "Google",
9
+ apple: "Apple",
10
+ microsoft: "Microsoft"
11
+ };
12
+ const PROVIDER_PRIMARY_BACKGROUND = {
13
+ google: "#4285F4",
14
+ apple: "#000000",
15
+ microsoft: "#2F2F2F"
16
+ };
17
+ const getBackgroundColor = ({
18
+ disabled,
19
+ variant,
20
+ provider
21
+ }) => {
22
+ if (disabled) return "#CCCCCC";
23
+ if (variant === "black") return "#000000";
24
+ if (variant === "white") return "#FFFFFF";
25
+ if (variant === "outline") return "transparent";
26
+ return PROVIDER_PRIMARY_BACKGROUND[provider];
27
+ };
28
+ const getTextColor = variant => variant === "white" || variant === "outline" ? "#000000" : "#FFFFFF";
7
29
  async function performLogin(provider) {
8
30
  await AuthModule.login(provider);
9
31
  }
@@ -19,45 +41,37 @@ export const SocialButton = ({
19
41
  onPress
20
42
  }) => {
21
43
  const [loading, setLoading] = useState(false);
22
- const handleLogin = () => {
44
+ const handleLogin = async () => {
23
45
  if (loading || disabled) return;
24
46
  if (onPress) {
25
47
  onPress();
26
48
  return;
27
49
  }
28
50
  setLoading(true);
29
- performLogin(provider).then(() => {
30
- setLoading(false);
51
+ try {
52
+ await performLogin(provider);
31
53
  const user = AuthModule.currentUser;
32
- if (user) onSuccess?.(user);
33
- }).catch(e => {
54
+ if (user) {
55
+ onSuccess?.(user);
56
+ }
57
+ } catch (error) {
58
+ onError?.(error);
59
+ } finally {
34
60
  setLoading(false);
35
- onError?.(e);
36
- });
37
- };
38
- const isGoogle = provider === "google";
39
- const isMicrosoft = provider === "microsoft";
40
- const isDisabled = loading || disabled;
41
- const getBackgroundColor = () => {
42
- if (isDisabled) return "#CCCCCC";
43
- if (variant === "black") return "#000000";
44
- if (variant === "white") return "#FFFFFF";
45
- if (variant === "outline") return "transparent";
46
- if (isGoogle) return "#4285F4";
47
- if (isMicrosoft) return "#2F2F2F";
48
- return "#000000";
49
- };
50
- const getTextColor = () => {
51
- if (variant === "white" || variant === "outline") return "#000000";
52
- return "#FFFFFF";
61
+ }
53
62
  };
63
+ const isDisabled = loading || disabled === true;
54
64
  const getBorderColor = () => {
55
65
  if (variant === "outline") return "#DDDDDD";
56
66
  return "transparent";
57
67
  };
58
68
  return /*#__PURE__*/_jsx(Pressable, {
59
69
  style: [styles.button, {
60
- backgroundColor: getBackgroundColor(),
70
+ backgroundColor: getBackgroundColor({
71
+ disabled: isDisabled,
72
+ variant,
73
+ provider
74
+ }),
61
75
  borderRadius,
62
76
  borderColor: getBorderColor(),
63
77
  borderWidth: variant === "outline" ? 1 : 0
@@ -68,7 +82,7 @@ export const SocialButton = ({
68
82
  style: styles.content,
69
83
  children: loading ? /*#__PURE__*/_jsx(ActivityIndicator, {
70
84
  size: "small",
71
- color: getTextColor()
85
+ color: getTextColor(variant)
72
86
  }) : /*#__PURE__*/_jsxs(_Fragment, {
73
87
  children: [provider === "google" && variant !== "primary" && /*#__PURE__*/_jsx(View, {
74
88
  style: styles.iconPlaceholder,
@@ -83,8 +97,9 @@ export const SocialButton = ({
83
97
  children: /*#__PURE__*/_jsx(Text, {
84
98
  style: {
85
99
  fontSize: 18,
86
- color: getTextColor()
87
- }
100
+ color: getTextColor(variant)
101
+ },
102
+ children: "\uF8FF"
88
103
  })
89
104
  }), provider === "microsoft" && variant !== "primary" && /*#__PURE__*/_jsx(View, {
90
105
  style: styles.iconPlaceholder,
@@ -96,9 +111,9 @@ export const SocialButton = ({
96
111
  })
97
112
  }), /*#__PURE__*/_jsxs(Text, {
98
113
  style: [styles.text, {
99
- color: getTextColor()
114
+ color: getTextColor(variant)
100
115
  }, textStyle],
101
- children: ["Sign in with", " ", provider.charAt(0).toUpperCase() + provider.slice(1)]
116
+ children: ["Sign in with ", PROVIDER_LABELS[provider]]
102
117
  })]
103
118
  })
104
119
  })
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","Pressable","Text","StyleSheet","View","ActivityIndicator","AuthModule","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","performLogin","provider","login","SocialButton","variant","borderRadius","style","textStyle","disabled","onSuccess","onError","onPress","loading","setLoading","handleLogin","then","user","currentUser","catch","e","isGoogle","isMicrosoft","isDisabled","getBackgroundColor","getTextColor","getBorderColor","styles","button","backgroundColor","borderColor","borderWidth","children","content","size","color","iconPlaceholder","fontSize","text","charAt","toUpperCase","slice","create","paddingVertical","paddingHorizontal","minHeight","justifyContent","alignItems","width","flexDirection","marginRight","height","fontWeight"],"sourceRoot":"../../../src","sources":["ui/social-button.web.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,QAAQ,QAAQ,OAAO;AACvC,SACEC,SAAS,EACTC,IAAI,EACJC,UAAU,EACVC,IAAI,EAGJC,iBAAiB,QACZ,cAAc;AAErB,SAASC,UAAU,QAAQ,gBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAczC,eAAeC,YAAYA,CAACC,QAAsB,EAAiB;EACjE,MAAMR,UAAU,CAACS,KAAK,CAACD,QAAQ,CAAC;AAClC;AAEA,OAAO,MAAME,YAAyC,GAAGA,CAAC;EACxDF,QAAQ;EACRG,OAAO,GAAG,SAAS;EACnBC,YAAY,GAAG,CAAC;EAChBC,KAAK;EACLC,SAAS;EACTC,QAAQ;EACRC,SAAS;EACTC,OAAO;EACPC;AACF,CAAC,KAAK;EACJ,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAG1B,QAAQ,CAAC,KAAK,CAAC;EAE7C,MAAM2B,WAAW,GAAGA,CAAA,KAAM;IACxB,IAAIF,OAAO,IAAIJ,QAAQ,EAAE;IACzB,IAAIG,OAAO,EAAE;MACXA,OAAO,CAAC,CAAC;MACT;IACF;IACAE,UAAU,CAAC,IAAI,CAAC;IAChBb,YAAY,CAACC,QAAQ,CAAC,CACnBc,IAAI,CAAC,MAAM;MACVF,UAAU,CAAC,KAAK,CAAC;MACjB,MAAMG,IAAI,GAAGvB,UAAU,CAACwB,WAAW;MACnC,IAAID,IAAI,EAAEP,SAAS,GAAGO,IAAI,CAAC;IAC7B,CAAC,CAAC,CACDE,KAAK,CAAEC,CAAC,IAAK;MACZN,UAAU,CAAC,KAAK,CAAC;MACjBH,OAAO,GAAGS,CAAC,CAAC;IACd,CAAC,CAAC;EACN,CAAC;EAED,MAAMC,QAAQ,GAAGnB,QAAQ,KAAK,QAAQ;EACtC,MAAMoB,WAAW,GAAGpB,QAAQ,KAAK,WAAW;EAC5C,MAAMqB,UAAU,GAAGV,OAAO,IAAIJ,QAAQ;EAEtC,MAAMe,kBAAkB,GAAGA,CAAA,KAAM;IAC/B,IAAID,UAAU,EAAE,OAAO,SAAS;IAChC,IAAIlB,OAAO,KAAK,OAAO,EAAE,OAAO,SAAS;IACzC,IAAIA,OAAO,KAAK,OAAO,EAAE,OAAO,SAAS;IACzC,IAAIA,OAAO,KAAK,SAAS,EAAE,OAAO,aAAa;IAC/C,IAAIgB,QAAQ,EAAE,OAAO,SAAS;IAC9B,IAAIC,WAAW,EAAE,OAAO,SAAS;IACjC,OAAO,SAAS;EAClB,CAAC;EAED,MAAMG,YAAY,GAAGA,CAAA,KAAM;IACzB,IAAIpB,OAAO,KAAK,OAAO,IAAIA,OAAO,KAAK,SAAS,EAAE,OAAO,SAAS;IAClE,OAAO,SAAS;EAClB,CAAC;EAED,MAAMqB,cAAc,GAAGA,CAAA,KAAM;IAC3B,IAAIrB,OAAO,KAAK,SAAS,EAAE,OAAO,SAAS;IAC3C,OAAO,aAAa;EACtB,CAAC;EAED,oBACET,IAAA,CAACP,SAAS;IACRkB,KAAK,EAAE,CACLoB,MAAM,CAACC,MAAM,EACb;MACEC,eAAe,EAAEL,kBAAkB,CAAC,CAAC;MACrClB,YAAY;MACZwB,WAAW,EAAEJ,cAAc,CAAC,CAAC;MAC7BK,WAAW,EAAE1B,OAAO,KAAK,SAAS,GAAG,CAAC,GAAG;IAC3C,CAAC,EACDE,KAAK,CACL;IACFK,OAAO,EAAEG,WAAY;IACrBN,QAAQ,EAAEc,UAAW;IAAAS,QAAA,eAErBpC,IAAA,CAACJ,IAAI;MAACe,KAAK,EAAEoB,MAAM,CAACM,OAAQ;MAAAD,QAAA,EACzBnB,OAAO,gBACNjB,IAAA,CAACH,iBAAiB;QAACyC,IAAI,EAAC,OAAO;QAACC,KAAK,EAAEV,YAAY,CAAC;MAAE,CAAE,CAAC,gBAEzD3B,KAAA,CAAAE,SAAA;QAAAgC,QAAA,GACG9B,QAAQ,KAAK,QAAQ,IAAIG,OAAO,KAAK,SAAS,iBAC7CT,IAAA,CAACJ,IAAI;UAACe,KAAK,EAAEoB,MAAM,CAACS,eAAgB;UAAAJ,QAAA,eAClCpC,IAAA,CAACN,IAAI;YAACiB,KAAK,EAAE;cAAE8B,QAAQ,EAAE;YAAG,CAAE;YAAAL,QAAA,EAAC;UAAC,CAAM;QAAC,CACnC,CACP,EACA9B,QAAQ,KAAK,OAAO,IAAIG,OAAO,KAAK,SAAS,iBAC5CT,IAAA,CAACJ,IAAI;UAACe,KAAK,EAAEoB,MAAM,CAACS,eAAgB;UAAAJ,QAAA,eAClCpC,IAAA,CAACN,IAAI;YAACiB,KAAK,EAAE;cAAE8B,QAAQ,EAAE,EAAE;cAAEF,KAAK,EAAEV,YAAY,CAAC;YAAE;UAAE,CAAO;QAAC,CACzD,CACP,EACAvB,QAAQ,KAAK,WAAW,IAAIG,OAAO,KAAK,SAAS,iBAChDT,IAAA,CAACJ,IAAI;UAACe,KAAK,EAAEoB,MAAM,CAACS,eAAgB;UAAAJ,QAAA,eAClCpC,IAAA,CAACN,IAAI;YAACiB,KAAK,EAAE;cAAE8B,QAAQ,EAAE;YAAG,CAAE;YAAAL,QAAA,EAAC;UAAC,CAAM;QAAC,CACnC,CACP,eACDlC,KAAA,CAACR,IAAI;UAACiB,KAAK,EAAE,CAACoB,MAAM,CAACW,IAAI,EAAE;YAAEH,KAAK,EAAEV,YAAY,CAAC;UAAE,CAAC,EAAEjB,SAAS,CAAE;UAAAwB,QAAA,GAAC,cACpD,EAAC,GAAG,EACf9B,QAAQ,CAACqC,MAAM,CAAC,CAAC,CAAC,CAACC,WAAW,CAAC,CAAC,GAAGtC,QAAQ,CAACuC,KAAK,CAAC,CAAC,CAAC;QAAA,CACjD,CAAC;MAAA,CACP;IACH,CACG;EAAC,CACE,CAAC;AAEhB,CAAC;AAED,MAAMd,MAAM,GAAGpC,UAAU,CAACmD,MAAM,CAAC;EAC/Bd,MAAM,EAAE;IACNe,eAAe,EAAE,EAAE;IACnBC,iBAAiB,EAAE,EAAE;IACrBC,SAAS,EAAE,EAAE;IACbC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBC,KAAK,EAAE,MAAM;IACbC,aAAa,EAAE;EACjB,CAAC;EACDhB,OAAO,EAAE;IACPgB,aAAa,EAAE,KAAK;IACpBF,UAAU,EAAE,QAAQ;IACpBD,cAAc,EAAE;EAClB,CAAC;EACDV,eAAe,EAAE;IACfc,WAAW,EAAE,EAAE;IACfF,KAAK,EAAE,EAAE;IACTG,MAAM,EAAE,EAAE;IACVJ,UAAU,EAAE,QAAQ;IACpBD,cAAc,EAAE;EAClB,CAAC;EACDR,IAAI,EAAE;IACJD,QAAQ,EAAE,EAAE;IACZe,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","Pressable","Text","StyleSheet","View","ActivityIndicator","AuthModule","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","PROVIDER_LABELS","google","apple","microsoft","PROVIDER_PRIMARY_BACKGROUND","getBackgroundColor","disabled","variant","provider","getTextColor","performLogin","login","SocialButton","borderRadius","style","textStyle","onSuccess","onError","onPress","loading","setLoading","handleLogin","user","currentUser","error","isDisabled","getBorderColor","styles","button","backgroundColor","borderColor","borderWidth","children","content","size","color","iconPlaceholder","fontSize","text","create","paddingVertical","paddingHorizontal","minHeight","justifyContent","alignItems","width","flexDirection","marginRight","height","fontWeight"],"sourceRoot":"../../../src","sources":["ui/social-button.web.tsx"],"mappings":"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","ignoreList":[]}
@@ -2,6 +2,24 @@
2
2
 
3
3
  import { useState, useEffect, useCallback, useMemo } from "react";
4
4
  import { AuthService } from "./service";
5
+ const areScopesEqual = (left, right) => {
6
+ if (left.length !== right.length) {
7
+ return false;
8
+ }
9
+ for (let index = 0; index < left.length; index += 1) {
10
+ if (left[index] !== right[index]) {
11
+ return false;
12
+ }
13
+ }
14
+ return true;
15
+ };
16
+ class AuthHookError extends Error {
17
+ constructor(message, underlyingError) {
18
+ super(message);
19
+ this.name = "AuthHookError";
20
+ this.underlyingError = underlyingError;
21
+ }
22
+ }
5
23
  export function useAuth() {
6
24
  const [state, setState] = useState({
7
25
  user: AuthService.currentUser,
@@ -9,6 +27,21 @@ export function useAuth() {
9
27
  loading: false,
10
28
  error: undefined
11
29
  });
30
+ const syncStateFromService = useCallback((nextLoading, nextError) => {
31
+ const nextUser = AuthService.currentUser;
32
+ const nextScopes = AuthService.grantedScopes;
33
+ setState(prev => {
34
+ if (prev.loading === nextLoading && prev.error === nextError && prev.user === nextUser && areScopesEqual(prev.scopes, nextScopes)) {
35
+ return prev;
36
+ }
37
+ return {
38
+ user: nextUser,
39
+ scopes: nextScopes,
40
+ loading: nextLoading,
41
+ error: nextError
42
+ };
43
+ });
44
+ }, []);
12
45
  const login = useCallback(async (provider, options) => {
13
46
  setState(prev => ({
14
47
  ...prev,
@@ -17,12 +50,7 @@ export function useAuth() {
17
50
  }));
18
51
  try {
19
52
  await AuthService.login(provider, options);
20
- setState({
21
- user: AuthService.currentUser,
22
- scopes: AuthService.grantedScopes,
23
- loading: false,
24
- error: undefined
25
- });
53
+ syncStateFromService(false, undefined);
26
54
  } catch (e) {
27
55
  const error = e instanceof Error ? e : new Error(String(e));
28
56
  setState(prev => ({
@@ -32,7 +60,7 @@ export function useAuth() {
32
60
  }));
33
61
  throw error;
34
62
  }
35
- }, []);
63
+ }, [syncStateFromService]);
36
64
  const logout = useCallback(() => {
37
65
  AuthService.logout();
38
66
  setState({
@@ -50,12 +78,7 @@ export function useAuth() {
50
78
  }));
51
79
  try {
52
80
  await AuthService.requestScopes(newScopes);
53
- setState({
54
- user: AuthService.currentUser,
55
- scopes: AuthService.grantedScopes,
56
- loading: false,
57
- error: undefined
58
- });
81
+ syncStateFromService(false, undefined);
59
82
  } catch (e) {
60
83
  const error = e instanceof Error ? e : new Error(String(e));
61
84
  setState(prev => ({
@@ -65,7 +88,7 @@ export function useAuth() {
65
88
  }));
66
89
  throw error;
67
90
  }
68
- }, []);
91
+ }, [syncStateFromService]);
69
92
  const revokeScopes = useCallback(async scopesToRevoke => {
70
93
  setState(prev => ({
71
94
  ...prev,
@@ -74,12 +97,7 @@ export function useAuth() {
74
97
  }));
75
98
  try {
76
99
  await AuthService.revokeScopes(scopesToRevoke);
77
- setState({
78
- user: AuthService.currentUser,
79
- scopes: AuthService.grantedScopes,
80
- loading: false,
81
- error: undefined
82
- });
100
+ syncStateFromService(false, undefined);
83
101
  } catch (e) {
84
102
  const error = e instanceof Error ? e : new Error(String(e));
85
103
  setState(prev => ({
@@ -89,7 +107,7 @@ export function useAuth() {
89
107
  }));
90
108
  throw error;
91
109
  }
92
- }, []);
110
+ }, [syncStateFromService]);
93
111
  const getAccessToken = useCallback(() => AuthService.getAccessToken(), []);
94
112
  const refreshToken = useCallback(async () => {
95
113
  setState(prev => ({
@@ -99,17 +117,11 @@ export function useAuth() {
99
117
  }));
100
118
  try {
101
119
  const tokens = await AuthService.refreshToken();
102
- setState({
103
- user: AuthService.currentUser,
104
- scopes: AuthService.grantedScopes,
105
- loading: false,
106
- error: undefined
107
- });
120
+ syncStateFromService(false, undefined);
108
121
  return tokens;
109
122
  } catch (e) {
110
123
  const msg = e instanceof Error ? e.message : String(e);
111
- const authError = new Error(msg);
112
- authError.underlyingError = AuthService.currentUser?.underlyingError;
124
+ const authError = new AuthHookError(msg, AuthService.currentUser?.underlyingError);
113
125
  setState(prev => ({
114
126
  ...prev,
115
127
  loading: false,
@@ -117,7 +129,7 @@ export function useAuth() {
117
129
  }));
118
130
  throw authError;
119
131
  }
120
- }, []);
132
+ }, [syncStateFromService]);
121
133
  const silentRestore = useCallback(async () => {
122
134
  setState(prev => ({
123
135
  ...prev,
@@ -126,12 +138,7 @@ export function useAuth() {
126
138
  }));
127
139
  try {
128
140
  await AuthService.silentRestore();
129
- setState({
130
- user: AuthService.currentUser,
131
- scopes: AuthService.grantedScopes,
132
- loading: false,
133
- error: undefined
134
- });
141
+ syncStateFromService(false, undefined);
135
142
  } catch (e) {
136
143
  const error = e instanceof Error ? e : new Error(String(e));
137
144
  setState(prev => ({
@@ -141,14 +148,21 @@ export function useAuth() {
141
148
  }));
142
149
  throw error;
143
150
  }
144
- }, []);
151
+ }, [syncStateFromService]);
145
152
  useEffect(() => {
146
153
  const unsubscribe = AuthService.onAuthStateChanged(currentUser => {
147
- setState(prev => ({
148
- ...prev,
149
- user: currentUser,
150
- scopes: AuthService.grantedScopes
151
- }));
154
+ const nextScopes = AuthService.grantedScopes;
155
+ setState(prev => {
156
+ if (prev.user === currentUser && areScopesEqual(prev.scopes, nextScopes) && prev.loading === false) {
157
+ return prev;
158
+ }
159
+ return {
160
+ ...prev,
161
+ user: currentUser,
162
+ scopes: nextScopes,
163
+ loading: false
164
+ };
165
+ });
152
166
  });
153
167
  return unsubscribe;
154
168
  }, []);
@@ -1 +1 @@
1
- {"version":3,"names":["useState","useEffect","useCallback","useMemo","AuthService","useAuth","state","setState","user","currentUser","scopes","grantedScopes","loading","error","undefined","login","provider","options","prev","e","Error","String","logout","requestScopes","newScopes","revokeScopes","scopesToRevoke","getAccessToken","refreshToken","tokens","msg","message","authError","underlyingError","silentRestore","unsubscribe","onAuthStateChanged","hasPlayServices"],"sourceRoot":"../../src","sources":["use-auth.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useState","useEffect","useCallback","useMemo","AuthService","areScopesEqual","left","right","length","index","AuthHookError","Error","constructor","message","underlyingError","name","useAuth","state","setState","user","currentUser","scopes","grantedScopes","loading","error","undefined","syncStateFromService","nextLoading","nextError","nextUser","nextScopes","prev","login","provider","options","e","String","logout","requestScopes","newScopes","revokeScopes","scopesToRevoke","getAccessToken","refreshToken","tokens","msg","authError","silentRestore","unsubscribe","onAuthStateChanged","hasPlayServices"],"sourceRoot":"../../src","sources":["use-auth.ts"],"mappings":"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","ignoreList":[]}
@@ -5,9 +5,17 @@ export const logger = {
5
5
  setEnabled(value) {
6
6
  enabled = value;
7
7
  },
8
- log: (...args) => enabled && console.log("[NitroAuth]", ...args),
9
- warn: (...args) => enabled && console.warn("[NitroAuth]", ...args),
10
- error: (...args) => enabled && console.error("[NitroAuth]", ...args),
11
- debug: (...args) => enabled && console.debug("[NitroAuth]", ...args)
8
+ log: (...args) => {
9
+ if (enabled) console.log("[NitroAuth]", ...args);
10
+ },
11
+ warn: (...args) => {
12
+ if (enabled) console.warn("[NitroAuth]", ...args);
13
+ },
14
+ error: (...args) => {
15
+ if (enabled) console.error("[NitroAuth]", ...args);
16
+ },
17
+ debug: (...args) => {
18
+ if (enabled) console.debug("[NitroAuth]", ...args);
19
+ }
12
20
  };
13
21
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["enabled","logger","setEnabled","value","log","args","console","warn","error","debug"],"sourceRoot":"../../../src","sources":["utils/logger.ts"],"mappings":";;AAAA,IAAIA,OAAO,GAAG,KAAK;AAEnB,OAAO,MAAMC,MAAM,GAAG;EACpBC,UAAUA,CAACC,KAAc,EAAQ;IAC/BH,OAAO,GAAGG,KAAK;EACjB,CAAC;EACDC,GAAG,EAAEA,CAAC,GAAGC,IAAe,KAAKL,OAAO,IAAIM,OAAO,CAACF,GAAG,CAAC,aAAa,EAAE,GAAGC,IAAI,CAAC;EAC3EE,IAAI,EAAEA,CAAC,GAAGF,IAAe,KAAKL,OAAO,IAAIM,OAAO,CAACC,IAAI,CAAC,aAAa,EAAE,GAAGF,IAAI,CAAC;EAC7EG,KAAK,EAAEA,CAAC,GAAGH,IAAe,KAAKL,OAAO,IAAIM,OAAO,CAACE,KAAK,CAAC,aAAa,EAAE,GAAGH,IAAI,CAAC;EAC/EI,KAAK,EAAEA,CAAC,GAAGJ,IAAe,KAAKL,OAAO,IAAIM,OAAO,CAACG,KAAK,CAAC,aAAa,EAAE,GAAGJ,IAAI;AAChF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["enabled","logger","setEnabled","value","log","args","console","warn","error","debug"],"sourceRoot":"../../../src","sources":["utils/logger.ts"],"mappings":";;AAAA,IAAIA,OAAO,GAAG,KAAK;AAEnB,OAAO,MAAMC,MAAM,GAAG;EACpBC,UAAUA,CAACC,KAAc,EAAQ;IAC/BH,OAAO,GAAGG,KAAK;EACjB,CAAC;EACDC,GAAG,EAAEA,CAAC,GAAGC,IAAe,KAAK;IAC3B,IAAIL,OAAO,EAAEM,OAAO,CAACF,GAAG,CAAC,aAAa,EAAE,GAAGC,IAAI,CAAC;EAClD,CAAC;EACDE,IAAI,EAAEA,CAAC,GAAGF,IAAe,KAAK;IAC5B,IAAIL,OAAO,EAAEM,OAAO,CAACC,IAAI,CAAC,aAAa,EAAE,GAAGF,IAAI,CAAC;EACnD,CAAC;EACDG,KAAK,EAAEA,CAAC,GAAGH,IAAe,KAAK;IAC7B,IAAIL,OAAO,EAAEM,OAAO,CAACE,KAAK,CAAC,aAAa,EAAE,GAAGH,IAAI,CAAC;EACpD,CAAC;EACDI,KAAK,EAAEA,CAAC,GAAGJ,IAAe,KAAK;IAC7B,IAAIL,OAAO,EAAEM,OAAO,CAACG,KAAK,CAAC,aAAa,EAAE,GAAGJ,IAAI,CAAC;EACpD;AACF,CAAC","ignoreList":[]}
@@ -1,7 +1,6 @@
1
1
  import type { HybridObject } from "react-native-nitro-modules";
2
- import type { AuthStorageAdapter } from "./AuthStorage.nitro";
3
2
  export type AuthProvider = "google" | "apple" | "microsoft";
4
- export type AuthErrorCode = "cancelled" | "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" | "unsupported_provider" | "invalid_state" | "invalid_nonce" | "token_error" | "no_id_token" | "parse_error" | "refresh_failed" | "unknown";
5
4
  export type MicrosoftPrompt = "login" | "consent" | "select_account" | "none";
6
5
  export interface LoginOptions {
7
6
  scopes?: string[];
@@ -21,6 +20,7 @@ export interface LoginOptions {
21
20
  export interface AuthTokens {
22
21
  accessToken?: string;
23
22
  idToken?: string;
23
+ refreshToken?: string;
24
24
  expirationTime?: number;
25
25
  }
26
26
  export interface AuthUser {
@@ -30,6 +30,7 @@ export interface AuthUser {
30
30
  photo?: string;
31
31
  idToken?: string;
32
32
  accessToken?: string;
33
+ refreshToken?: string;
33
34
  serverAuthCode?: string;
34
35
  scopes?: string[];
35
36
  expirationTime?: number;
@@ -53,6 +54,5 @@ export interface Auth extends HybridObject<{
53
54
  onAuthStateChanged(callback: (user: AuthUser | undefined) => void): () => void;
54
55
  onTokensRefreshed(callback: (tokens: AuthTokens) => void): () => void;
55
56
  setLoggingEnabled(enabled: boolean): void;
56
- setStorageAdapter(adapter: AuthStorageAdapter | undefined): void;
57
57
  }
58
58
  //# sourceMappingURL=Auth.nitro.d.ts.map
@@ -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,12 +1,29 @@
1
1
  import type { Auth, AuthUser, AuthProvider, LoginOptions, AuthTokens } from "./Auth.nitro";
2
- import type { AuthStorageAdapter } from "./AuthStorage.nitro";
2
+ import type { JSStorageAdapter } from "./js-storage-adapter";
3
3
  declare class AuthWeb implements Auth {
4
+ private readonly _config;
4
5
  private _currentUser;
5
6
  private _grantedScopes;
6
7
  private _listeners;
7
8
  private _tokenListeners;
8
9
  private _storageAdapter;
10
+ private _browserStorageResolved;
11
+ private _browserStorageCache;
12
+ private _refreshPromise;
13
+ private _appleSdkLoadPromise;
9
14
  constructor();
15
+ private isPromiseLike;
16
+ private createWebStorageDriver;
17
+ private shouldPersistTokensInStorage;
18
+ private getWebStorageMode;
19
+ private getBrowserStorage;
20
+ private saveValue;
21
+ private loadValue;
22
+ private removeValue;
23
+ private removePersistedBrowserValue;
24
+ private sanitizeUserForPersistence;
25
+ private saveRefreshToken;
26
+ private loadRefreshToken;
10
27
  private loadFromCache;
11
28
  private removeFromCache;
12
29
  get currentUser(): AuthUser | undefined;
@@ -19,11 +36,12 @@ declare class AuthWeb implements Auth {
19
36
  requestScopes(scopes: string[]): Promise<void>;
20
37
  revokeScopes(scopes: string[]): Promise<void>;
21
38
  getAccessToken(): Promise<string | undefined>;
22
- refreshToken(): Promise<{
23
- accessToken?: string;
24
- idToken?: string;
25
- }>;
39
+ refreshToken(): Promise<AuthTokens>;
40
+ private performRefreshToken;
26
41
  private mapError;
42
+ private parseResponseObject;
43
+ private parseJwtPayload;
44
+ private waitForPopupRedirect;
27
45
  private loginGoogle;
28
46
  private decodeGoogleJwt;
29
47
  private loginMicrosoft;
@@ -33,12 +51,13 @@ declare class AuthWeb implements Auth {
33
51
  private exchangeMicrosoftCodeForTokens;
34
52
  private getMicrosoftAuthBaseUrl;
35
53
  private decodeMicrosoftJwt;
54
+ private ensureAppleSdkLoaded;
36
55
  private loginApple;
37
56
  silentRestore(): Promise<void>;
38
57
  logout(): void;
39
58
  private updateUser;
40
59
  setLoggingEnabled(enabled: boolean): void;
41
- setStorageAdapter(adapter: AuthStorageAdapter | undefined): void;
60
+ setWebStorageAdapter(adapter: JSStorageAdapter | undefined): void;
42
61
  name: string;
43
62
  dispose(): void;
44
63
  equals(other: unknown): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Auth.web.d.ts","sourceRoot":"","sources":["../../../src/Auth.web.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACX,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AA8B9D,cAAM,OAAQ,YAAW,IAAI;IAC3B,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,UAAU,CAAgD;IAClE,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,eAAe,CAAiC;;IAMxD,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,eAAe;IAQvB,IAAI,WAAW,IAAI,QAAQ,GAAG,SAAS,CAEtC;IAED,IAAI,aAAa,IAAI,MAAM,EAAE,CAE5B;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,kBAAkB,CAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,KAAK,IAAI,GAC7C,MAAM,IAAI;IAQb,iBAAiB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;IAOrE,OAAO,CAAC,MAAM;IAIR,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BpE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB9C,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAmB7C,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAW7C,YAAY,IAAI,OAAO,CAAC;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IA8FzE,OAAO,CAAC,QAAQ;YAgBF,WAAW;IA8FzB,OAAO,CAAC,eAAe;YAcT,cAAc;IAwH5B,OAAO,CAAC,oBAAoB;YAMd,qBAAqB;IAOnC,OAAO,CAAC,eAAe;YAKT,8BAA8B;IAsF5C,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,kBAAkB;YAaZ,UAAU;IA+ClB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAcpC,MAAM,IAAI,IAAI;IASd,OAAO,CAAC,UAAU;IAUlB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC,iBAAiB,CAAC,OAAO,EAAE,kBAAkB,GAAG,SAAS,GAAG,IAAI;IAQhE,IAAI,SAAU;IACd,OAAO;IACP,MAAM,CAAC,KAAK,EAAE,OAAO;CAGtB;AAED,eAAO,MAAM,UAAU,SAAgB,CAAC"}
1
+ {"version":3,"file":"Auth.web.d.ts","sourceRoot":"","sources":["../../../src/Auth.web.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACX,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAgK7D,cAAM,OAAQ,YAAW,IAAI;IAC3B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,cAAc,CAAgB;IACtC,OAAO,CAAC,UAAU,CAAgD;IAClE,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,oBAAoB,CAAsB;IAClD,OAAO,CAAC,eAAe,CAAkC;IACzD,OAAO,CAAC,oBAAoB,CAA4B;;IAOxD,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,sBAAsB;IA0B9B,OAAO,CAAC,4BAA4B;IAOpC,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,iBAAiB;IAsCzB,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,SAAS;IAYjB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,2BAA2B;IAgBnC,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,aAAa;IAgDrB,OAAO,CAAC,eAAe;IAIvB,IAAI,WAAW,IAAI,QAAQ,GAAG,SAAS,CAEtC;IAED,IAAI,aAAa,IAAI,MAAM,EAAE,CAE5B;IAED,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED,kBAAkB,CAChB,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,KAAK,IAAI,GAC7C,MAAM,IAAI;IAQb,iBAAiB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,IAAI,GAAG,MAAM,IAAI;IAOrE,OAAO,CAAC,MAAM;IAMR,KAAK,CAAC,QAAQ,EAAE,YAAY,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BpE,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAyB9C,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAY7C,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAW7C,YAAY,IAAI,OAAO,CAAC,UAAU,CAAC;YAgB3B,mBAAmB;IA6GjC,OAAO,CAAC,QAAQ;YAoBF,mBAAmB;IAQjC,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,oBAAoB;YA8Dd,WAAW;IAgFzB,OAAO,CAAC,eAAe;YAcT,cAAc;IA2G5B,OAAO,CAAC,oBAAoB;YAMd,qBAAqB;IAOnC,OAAO,CAAC,eAAe;YAKT,8BAA8B;IA8E5C,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,kBAAkB;YAiBZ,oBAAoB;YA2DpB,UAAU;IAqClB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAcpC,MAAM,IAAI,IAAI;IASd,OAAO,CAAC,UAAU;IAOlB,iBAAiB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC,oBAAoB,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI;IAQjE,IAAI,SAAU;IACd,OAAO;IACP,MAAM,CAAC,KAAK,EAAE,OAAO;CAGtB;AAED,eAAO,MAAM,UAAU,SAAgB,CAAC"}
@@ -1,6 +1,5 @@
1
1
  export * from "./Auth.nitro";
2
- export * from "./AuthStorage.nitro";
3
2
  export * from "./ui/social-button";
4
3
  export { useAuth, type UseAuthReturn } from "./use-auth";
5
- export { AuthService, type JSStorageAdapter } from "./service";
4
+ export { AuthService } from "./service";
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC"}
@@ -1,5 +1,4 @@
1
1
  export * from "./Auth.nitro";
2
- export * from "./AuthStorage.nitro";
3
2
  export * from "./ui/social-button.web";
4
3
  export * from "./use-auth";
5
4
  export { AuthService } from "./service.web";
@@ -1 +1 @@
1
- {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../src/index.web.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../src/index.web.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC"}
@@ -0,0 +1,6 @@
1
+ export type JSStorageAdapter = {
2
+ save(key: string, value: string): void | Promise<void>;
3
+ load(key: string): string | undefined | Promise<string | undefined>;
4
+ remove(key: string): void | Promise<void>;
5
+ };
6
+ //# sourceMappingURL=js-storage-adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"js-storage-adapter.d.ts","sourceRoot":"","sources":["../../../src/js-storage-adapter.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C,CAAC"}
@@ -1,10 +1,3 @@
1
1
  import type { Auth } from "./Auth.nitro";
2
- export interface JSStorageAdapter {
3
- save(key: string, value: string): void | Promise<void>;
4
- load(key: string): string | undefined | Promise<string | undefined>;
5
- remove(key: string): void | Promise<void>;
6
- }
7
- export declare const AuthService: Auth & {
8
- setJSStorageAdapter(adapter: JSStorageAdapter | undefined): void;
9
- };
2
+ export declare const AuthService: Auth;
10
3
  //# sourceMappingURL=service.d.ts.map
@@ -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;AAMtB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACpE,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3C;AAmCD,eAAO,MAAM,WAAW,EAAE,IAAI,GAAG;IAC/B,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,GAAG,IAAI,CAAC;CAoHlE,CAAC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/service.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,IAAI,EAKL,MAAM,cAAc,CAAC;AAGtB,eAAO,MAAM,WAAW,EAAE,IAkEzB,CAAC"}
@@ -1,5 +1,3 @@
1
- import type { AuthStorageAdapter } from "./AuthStorage.nitro";
2
- import type { JSStorageAdapter } from "./service";
3
1
  export declare const AuthService: {
4
2
  name: string;
5
3
  currentUser: import("./Auth.nitro").AuthUser | undefined;
@@ -10,17 +8,12 @@ export declare const AuthService: {
10
8
  requestScopes: (scopes: string[]) => Promise<void>;
11
9
  revokeScopes: (scopes: string[]) => Promise<void>;
12
10
  getAccessToken: () => Promise<string | undefined>;
13
- refreshToken: () => Promise<{
14
- accessToken?: string;
15
- idToken?: string;
16
- }>;
11
+ refreshToken: () => Promise<import("./Auth.nitro").AuthTokens>;
17
12
  silentRestore: () => Promise<void>;
18
13
  onAuthStateChanged: (callback: (user: import("./Auth.nitro").AuthUser | undefined) => void) => () => void;
19
14
  onTokensRefreshed: (callback: (tokens: import("./Auth.nitro").AuthTokens) => void) => () => void;
20
15
  setLoggingEnabled: (enabled: boolean) => void;
21
- setStorageAdapter: (adapter: AuthStorageAdapter | undefined) => void;
22
16
  dispose: () => void;
23
17
  equals: (other: unknown) => boolean;
24
- setJSStorageAdapter(adapter: JSStorageAdapter | undefined): void;
25
18
  };
26
19
  //# sourceMappingURL=service.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"service.web.d.ts","sourceRoot":"","sources":["../../../src/service.web.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAElD,eAAO,MAAM,WAAW;;;;;;;;;;;mBAqCw0H,CAAC;eAAiB,CAAC;;;;;;;;;iCAJp1H,gBAAgB,GAAG,SAAS,GAAG,IAAI;CAGjE,CAAC"}
1
+ {"version":3,"file":"service.web.d.ts","sourceRoot":"","sources":["../../../src/service.web.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;CA+BvB,CAAC"}