react-native-nitro-auth 0.5.0 → 0.5.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.
Files changed (124) hide show
  1. package/README.md +374 -189
  2. package/android/src/main/cpp/PlatformAuth+Android.cpp +4 -1
  3. package/android/src/main/java/com/auth/AuthAdapter.kt +99 -182
  4. package/android/src/main/java/com/auth/GoogleSignInActivity.kt +2 -1
  5. package/android/src/main/java/com/auth/NitroAuthPackage.kt +2 -0
  6. package/app.plugin.js +2 -9
  7. package/cpp/AuthCache.cpp +12 -102
  8. package/cpp/HybridAuth.cpp +37 -61
  9. package/cpp/HybridAuth.hpp +2 -4
  10. package/ios/AuthAdapter.swift +21 -25
  11. package/lib/commonjs/Auth.web.js +433 -164
  12. package/lib/commonjs/Auth.web.js.map +1 -1
  13. package/lib/commonjs/index.js +0 -12
  14. package/lib/commonjs/index.js.map +1 -1
  15. package/lib/commonjs/index.web.js +0 -12
  16. package/lib/commonjs/index.web.js.map +1 -1
  17. package/lib/commonjs/js-storage-adapter.js +2 -0
  18. package/lib/commonjs/js-storage-adapter.js.map +1 -0
  19. package/lib/commonjs/service.js +7 -84
  20. package/lib/commonjs/service.js.map +1 -1
  21. package/lib/commonjs/service.web.js +1 -5
  22. package/lib/commonjs/service.web.js.map +1 -1
  23. package/lib/commonjs/ui/social-button.js +44 -29
  24. package/lib/commonjs/ui/social-button.js.map +1 -1
  25. package/lib/commonjs/ui/social-button.web.js +44 -29
  26. package/lib/commonjs/ui/social-button.web.js.map +1 -1
  27. package/lib/commonjs/use-auth.js +8 -2
  28. package/lib/commonjs/use-auth.js.map +1 -1
  29. package/lib/commonjs/utils/logger.js +12 -4
  30. package/lib/commonjs/utils/logger.js.map +1 -1
  31. package/lib/module/Auth.web.js +433 -164
  32. package/lib/module/Auth.web.js.map +1 -1
  33. package/lib/module/index.js +0 -1
  34. package/lib/module/index.js.map +1 -1
  35. package/lib/module/index.web.js +0 -1
  36. package/lib/module/index.web.js.map +1 -1
  37. package/lib/module/js-storage-adapter.js +2 -0
  38. package/lib/module/js-storage-adapter.js.map +1 -0
  39. package/lib/module/service.js +7 -84
  40. package/lib/module/service.js.map +1 -1
  41. package/lib/module/service.web.js +1 -5
  42. package/lib/module/service.web.js.map +1 -1
  43. package/lib/module/ui/social-button.js +44 -29
  44. package/lib/module/ui/social-button.js.map +1 -1
  45. package/lib/module/ui/social-button.web.js +44 -29
  46. package/lib/module/ui/social-button.web.js.map +1 -1
  47. package/lib/module/use-auth.js +8 -2
  48. package/lib/module/use-auth.js.map +1 -1
  49. package/lib/module/utils/logger.js +12 -4
  50. package/lib/module/utils/logger.js.map +1 -1
  51. package/lib/typescript/commonjs/Auth.nitro.d.ts +5 -3
  52. package/lib/typescript/commonjs/Auth.nitro.d.ts.map +1 -1
  53. package/lib/typescript/commonjs/Auth.web.d.ts +18 -6
  54. package/lib/typescript/commonjs/Auth.web.d.ts.map +1 -1
  55. package/lib/typescript/commonjs/index.d.ts +1 -2
  56. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  57. package/lib/typescript/commonjs/index.web.d.ts +0 -1
  58. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  59. package/lib/typescript/commonjs/js-storage-adapter.d.ts +6 -0
  60. package/lib/typescript/commonjs/js-storage-adapter.d.ts.map +1 -0
  61. package/lib/typescript/commonjs/service.d.ts +1 -8
  62. package/lib/typescript/commonjs/service.d.ts.map +1 -1
  63. package/lib/typescript/commonjs/service.web.d.ts +1 -8
  64. package/lib/typescript/commonjs/service.web.d.ts.map +1 -1
  65. package/lib/typescript/commonjs/ui/social-button.d.ts +6 -6
  66. package/lib/typescript/commonjs/ui/social-button.d.ts.map +1 -1
  67. package/lib/typescript/commonjs/ui/social-button.web.d.ts +6 -6
  68. package/lib/typescript/commonjs/ui/social-button.web.d.ts.map +1 -1
  69. package/lib/typescript/commonjs/use-auth.d.ts +4 -4
  70. package/lib/typescript/commonjs/use-auth.d.ts.map +1 -1
  71. package/lib/typescript/commonjs/utils/logger.d.ts +4 -4
  72. package/lib/typescript/commonjs/utils/logger.d.ts.map +1 -1
  73. package/lib/typescript/module/Auth.nitro.d.ts +5 -3
  74. package/lib/typescript/module/Auth.nitro.d.ts.map +1 -1
  75. package/lib/typescript/module/Auth.web.d.ts +18 -6
  76. package/lib/typescript/module/Auth.web.d.ts.map +1 -1
  77. package/lib/typescript/module/index.d.ts +1 -2
  78. package/lib/typescript/module/index.d.ts.map +1 -1
  79. package/lib/typescript/module/index.web.d.ts +0 -1
  80. package/lib/typescript/module/index.web.d.ts.map +1 -1
  81. package/lib/typescript/module/js-storage-adapter.d.ts +6 -0
  82. package/lib/typescript/module/js-storage-adapter.d.ts.map +1 -0
  83. package/lib/typescript/module/service.d.ts +1 -8
  84. package/lib/typescript/module/service.d.ts.map +1 -1
  85. package/lib/typescript/module/service.web.d.ts +1 -8
  86. package/lib/typescript/module/service.web.d.ts.map +1 -1
  87. package/lib/typescript/module/ui/social-button.d.ts +6 -6
  88. package/lib/typescript/module/ui/social-button.d.ts.map +1 -1
  89. package/lib/typescript/module/ui/social-button.web.d.ts +6 -6
  90. package/lib/typescript/module/ui/social-button.web.d.ts.map +1 -1
  91. package/lib/typescript/module/use-auth.d.ts +4 -4
  92. package/lib/typescript/module/use-auth.d.ts.map +1 -1
  93. package/lib/typescript/module/utils/logger.d.ts +4 -4
  94. package/lib/typescript/module/utils/logger.d.ts.map +1 -1
  95. package/nitrogen/generated/android/NitroAuth+autolinking.cmake +0 -1
  96. package/nitrogen/generated/shared/c++/AuthTokens.hpp +5 -1
  97. package/nitrogen/generated/shared/c++/AuthUser.hpp +5 -1
  98. package/nitrogen/generated/shared/c++/HybridAuthSpec.cpp +0 -1
  99. package/nitrogen/generated/shared/c++/HybridAuthSpec.hpp +0 -5
  100. package/nitrogen/generated/shared/c++/LoginOptions.hpp +5 -1
  101. package/package.json +13 -10
  102. package/src/Auth.nitro.ts +6 -3
  103. package/src/Auth.web.ts +582 -202
  104. package/src/global.d.ts +0 -1
  105. package/src/index.ts +1 -2
  106. package/src/index.web.ts +0 -1
  107. package/src/js-storage-adapter.ts +5 -0
  108. package/src/service.ts +11 -104
  109. package/src/service.web.ts +0 -7
  110. package/src/ui/social-button.tsx +66 -43
  111. package/src/ui/social-button.web.tsx +67 -44
  112. package/src/use-auth.ts +18 -6
  113. package/src/utils/logger.ts +12 -4
  114. package/lib/commonjs/AuthStorage.nitro.js +0 -6
  115. package/lib/commonjs/AuthStorage.nitro.js.map +0 -1
  116. package/lib/module/AuthStorage.nitro.js +0 -4
  117. package/lib/module/AuthStorage.nitro.js.map +0 -1
  118. package/lib/typescript/commonjs/AuthStorage.nitro.d.ts +0 -26
  119. package/lib/typescript/commonjs/AuthStorage.nitro.d.ts.map +0 -1
  120. package/lib/typescript/module/AuthStorage.nitro.d.ts +0 -26
  121. package/lib/typescript/module/AuthStorage.nitro.d.ts.map +0 -1
  122. package/nitrogen/generated/shared/c++/HybridAuthStorageAdapterSpec.cpp +0 -23
  123. package/nitrogen/generated/shared/c++/HybridAuthStorageAdapterSpec.hpp +0 -65
  124. package/src/AuthStorage.nitro.ts +0 -26
@@ -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"}
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
- import { ViewStyle, TextStyle } from "react-native";
2
+ import type { ViewStyle, TextStyle } from "react-native";
3
3
  import type { AuthProvider, AuthUser } from "../Auth.nitro";
4
- interface SocialButtonProps {
4
+ export type SocialButtonVariant = "primary" | "outline" | "white" | "black";
5
+ export type SocialButtonProps = {
5
6
  provider: AuthProvider;
6
- variant?: "primary" | "outline" | "white" | "black";
7
+ variant?: SocialButtonVariant;
7
8
  borderRadius?: number;
8
9
  style?: ViewStyle;
9
10
  textStyle?: TextStyle;
@@ -11,7 +12,6 @@ interface SocialButtonProps {
11
12
  onSuccess?: (user: AuthUser) => void;
12
13
  onError?: (error: unknown) => void;
13
14
  onPress?: () => void;
14
- }
15
- export declare const SocialButton: React.FC<SocialButtonProps>;
16
- export {};
15
+ };
16
+ export declare const SocialButton: ({ provider, variant, borderRadius, style, textStyle, disabled, onSuccess, onError, onPress, }: SocialButtonProps) => React.JSX.Element;
17
17
  //# sourceMappingURL=social-button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"social-button.d.ts","sourceRoot":"","sources":["../../../../src/ui/social-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAKL,SAAS,EACT,SAAS,EAEV,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EAAQ,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAElE,UAAU,iBAAiB;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAOD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAoGpD,CAAC"}
1
+ {"version":3,"file":"social-button.d.ts","sourceRoot":"","sources":["../../../../src/ui/social-button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzD,OAAO,KAAK,EAAQ,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAElE,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAsCF,eAAO,MAAM,YAAY,GAAI,+FAU1B,iBAAiB,sBAiFnB,CAAC"}
@@ -1,9 +1,10 @@
1
1
  import React from "react";
2
- import { ViewStyle, TextStyle } from "react-native";
2
+ import type { ViewStyle, TextStyle } from "react-native";
3
3
  import type { AuthProvider, AuthUser } from "../Auth.nitro";
4
- interface SocialButtonProps {
4
+ export type SocialButtonVariant = "primary" | "outline" | "white" | "black";
5
+ export type SocialButtonProps = {
5
6
  provider: AuthProvider;
6
- variant?: "primary" | "outline" | "white" | "black";
7
+ variant?: SocialButtonVariant;
7
8
  borderRadius?: number;
8
9
  style?: ViewStyle;
9
10
  textStyle?: TextStyle;
@@ -11,7 +12,6 @@ interface SocialButtonProps {
11
12
  onSuccess?: (user: AuthUser) => void;
12
13
  onError?: (error: unknown) => void;
13
14
  onPress?: () => void;
14
- }
15
- export declare const SocialButton: React.FC<SocialButtonProps>;
16
- export {};
15
+ };
16
+ export declare const SocialButton: ({ provider, variant, borderRadius, style, textStyle, disabled, onSuccess, onError, onPress, }: SocialButtonProps) => React.JSX.Element;
17
17
  //# sourceMappingURL=social-button.web.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"social-button.web.d.ts","sourceRoot":"","sources":["../../../../src/ui/social-button.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAKL,SAAS,EACT,SAAS,EAEV,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAG5D,UAAU,iBAAiB;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB;AAMD,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAoGpD,CAAC"}
1
+ {"version":3,"file":"social-button.web.d.ts","sourceRoot":"","sources":["../../../../src/ui/social-button.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AASzD,OAAO,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE5D,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;AAE5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACrC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAqCF,eAAO,MAAM,YAAY,GAAI,+FAU1B,iBAAiB,sBAiFnB,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import type { AuthUser, AuthProvider, LoginOptions, AuthTokens } from "./Auth.nitro";
2
- interface AuthState {
2
+ type AuthState = {
3
3
  user: AuthUser | undefined;
4
4
  scopes: string[];
5
5
  loading: boolean;
6
6
  error: Error | undefined;
7
- }
8
- export interface UseAuthReturn extends AuthState {
7
+ };
8
+ export type UseAuthReturn = AuthState & {
9
9
  hasPlayServices: boolean;
10
10
  login: (provider: AuthProvider, options?: LoginOptions) => Promise<void>;
11
11
  logout: () => void;
@@ -14,7 +14,7 @@ export interface UseAuthReturn extends AuthState {
14
14
  getAccessToken: () => Promise<string | undefined>;
15
15
  refreshToken: () => Promise<AuthTokens>;
16
16
  silentRestore: () => Promise<void>;
17
- }
17
+ };
18
18
  export declare function useAuth(): UseAuthReturn;
19
19
  export {};
20
20
  //# sourceMappingURL=use-auth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-auth.d.ts","sourceRoot":"","sources":["../../../src/use-auth.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,UAAU,EACX,MAAM,cAAc,CAAC;AAEtB,UAAU,SAAS;IACjB,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;CAC1B;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC9C,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;AAED,wBAAgB,OAAO,IAAI,aAAa,CAqKvC"}
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;AAGtB,KAAK,SAAS,GAAG;IACf,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC3B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;CAC1B,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,CAuKvC"}
@@ -1,8 +1,8 @@
1
1
  export declare const logger: {
2
2
  setEnabled(value: boolean): void;
3
- log: (...args: unknown[]) => false | void;
4
- warn: (...args: unknown[]) => false | void;
5
- error: (...args: unknown[]) => false | void;
6
- debug: (...args: unknown[]) => false | void;
3
+ log: (...args: unknown[]) => void;
4
+ warn: (...args: unknown[]) => void;
5
+ error: (...args: unknown[]) => void;
6
+ debug: (...args: unknown[]) => void;
7
7
  };
8
8
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;sBACC,OAAO,GAAG,IAAI;mBAGjB,OAAO,EAAE;oBACR,OAAO,EAAE;qBACR,OAAO,EAAE;qBACT,OAAO,EAAE;CAC3B,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/utils/logger.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM;sBACC,OAAO,GAAG,IAAI;mBAGjB,OAAO,EAAE;oBAGR,OAAO,EAAE;qBAGR,OAAO,EAAE;qBAGT,OAAO,EAAE;CAG3B,CAAC"}
@@ -34,7 +34,6 @@ target_sources(
34
34
  ../nitrogen/generated/android/NitroAuthOnLoad.cpp
35
35
  # Shared Nitrogen C++ sources
36
36
  ../nitrogen/generated/shared/c++/HybridAuthSpec.cpp
37
- ../nitrogen/generated/shared/c++/HybridAuthStorageAdapterSpec.cpp
38
37
  # Android-specific Nitrogen C++ sources
39
38
 
40
39
  )
@@ -42,11 +42,12 @@ namespace margelo::nitro::NitroAuth {
42
42
  public:
43
43
  std::optional<std::string> accessToken SWIFT_PRIVATE;
44
44
  std::optional<std::string> idToken SWIFT_PRIVATE;
45
+ std::optional<std::string> refreshToken SWIFT_PRIVATE;
45
46
  std::optional<double> expirationTime SWIFT_PRIVATE;
46
47
 
47
48
  public:
48
49
  AuthTokens() = default;
49
- explicit AuthTokens(std::optional<std::string> accessToken, std::optional<std::string> idToken, std::optional<double> expirationTime): accessToken(accessToken), idToken(idToken), expirationTime(expirationTime) {}
50
+ explicit AuthTokens(std::optional<std::string> accessToken, std::optional<std::string> idToken, std::optional<std::string> refreshToken, std::optional<double> expirationTime): accessToken(accessToken), idToken(idToken), refreshToken(refreshToken), expirationTime(expirationTime) {}
50
51
 
51
52
  public:
52
53
  friend bool operator==(const AuthTokens& lhs, const AuthTokens& rhs) = default;
@@ -64,6 +65,7 @@ namespace margelo::nitro {
64
65
  return margelo::nitro::NitroAuth::AuthTokens(
65
66
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "accessToken"))),
66
67
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "idToken"))),
68
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "refreshToken"))),
67
69
  JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "expirationTime")))
68
70
  );
69
71
  }
@@ -71,6 +73,7 @@ namespace margelo::nitro {
71
73
  jsi::Object obj(runtime);
72
74
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "accessToken"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.accessToken));
73
75
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "idToken"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.idToken));
76
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "refreshToken"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.refreshToken));
74
77
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "expirationTime"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.expirationTime));
75
78
  return obj;
76
79
  }
@@ -84,6 +87,7 @@ namespace margelo::nitro {
84
87
  }
85
88
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "accessToken")))) return false;
86
89
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "idToken")))) return false;
90
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "refreshToken")))) return false;
87
91
  if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "expirationTime")))) return false;
88
92
  return true;
89
93
  }
@@ -49,6 +49,7 @@ namespace margelo::nitro::NitroAuth {
49
49
  std::optional<std::string> photo SWIFT_PRIVATE;
50
50
  std::optional<std::string> idToken SWIFT_PRIVATE;
51
51
  std::optional<std::string> accessToken SWIFT_PRIVATE;
52
+ std::optional<std::string> refreshToken SWIFT_PRIVATE;
52
53
  std::optional<std::string> serverAuthCode SWIFT_PRIVATE;
53
54
  std::optional<std::vector<std::string>> scopes SWIFT_PRIVATE;
54
55
  std::optional<double> expirationTime SWIFT_PRIVATE;
@@ -56,7 +57,7 @@ namespace margelo::nitro::NitroAuth {
56
57
 
57
58
  public:
58
59
  AuthUser() = default;
59
- explicit AuthUser(AuthProvider provider, std::optional<std::string> email, std::optional<std::string> name, std::optional<std::string> photo, std::optional<std::string> idToken, std::optional<std::string> accessToken, std::optional<std::string> serverAuthCode, std::optional<std::vector<std::string>> scopes, std::optional<double> expirationTime, std::optional<std::string> underlyingError): provider(provider), email(email), name(name), photo(photo), idToken(idToken), accessToken(accessToken), serverAuthCode(serverAuthCode), scopes(scopes), expirationTime(expirationTime), underlyingError(underlyingError) {}
60
+ explicit AuthUser(AuthProvider provider, std::optional<std::string> email, std::optional<std::string> name, std::optional<std::string> photo, std::optional<std::string> idToken, std::optional<std::string> accessToken, std::optional<std::string> refreshToken, std::optional<std::string> serverAuthCode, std::optional<std::vector<std::string>> scopes, std::optional<double> expirationTime, std::optional<std::string> underlyingError): provider(provider), email(email), name(name), photo(photo), idToken(idToken), accessToken(accessToken), refreshToken(refreshToken), serverAuthCode(serverAuthCode), scopes(scopes), expirationTime(expirationTime), underlyingError(underlyingError) {}
60
61
 
61
62
  public:
62
63
  friend bool operator==(const AuthUser& lhs, const AuthUser& rhs) = default;
@@ -78,6 +79,7 @@ namespace margelo::nitro {
78
79
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "photo"))),
79
80
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "idToken"))),
80
81
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "accessToken"))),
82
+ JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "refreshToken"))),
81
83
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "serverAuthCode"))),
82
84
  JSIConverter<std::optional<std::vector<std::string>>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "scopes"))),
83
85
  JSIConverter<std::optional<double>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "expirationTime"))),
@@ -92,6 +94,7 @@ namespace margelo::nitro {
92
94
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "photo"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.photo));
93
95
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "idToken"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.idToken));
94
96
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "accessToken"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.accessToken));
97
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "refreshToken"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.refreshToken));
95
98
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "serverAuthCode"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.serverAuthCode));
96
99
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "scopes"), JSIConverter<std::optional<std::vector<std::string>>>::toJSI(runtime, arg.scopes));
97
100
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "expirationTime"), JSIConverter<std::optional<double>>::toJSI(runtime, arg.expirationTime));
@@ -112,6 +115,7 @@ namespace margelo::nitro {
112
115
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "photo")))) return false;
113
116
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "idToken")))) return false;
114
117
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "accessToken")))) return false;
118
+ if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "refreshToken")))) return false;
115
119
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "serverAuthCode")))) return false;
116
120
  if (!JSIConverter<std::optional<std::vector<std::string>>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "scopes")))) return false;
117
121
  if (!JSIConverter<std::optional<double>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "expirationTime")))) return false;
@@ -27,7 +27,6 @@ namespace margelo::nitro::NitroAuth {
27
27
  prototype.registerHybridMethod("onAuthStateChanged", &HybridAuthSpec::onAuthStateChanged);
28
28
  prototype.registerHybridMethod("onTokensRefreshed", &HybridAuthSpec::onTokensRefreshed);
29
29
  prototype.registerHybridMethod("setLoggingEnabled", &HybridAuthSpec::setLoggingEnabled);
30
- prototype.registerHybridMethod("setStorageAdapter", &HybridAuthSpec::setStorageAdapter);
31
30
  });
32
31
  }
33
32
 
@@ -21,8 +21,6 @@ namespace margelo::nitro::NitroAuth { enum class AuthProvider; }
21
21
  namespace margelo::nitro::NitroAuth { struct LoginOptions; }
22
22
  // Forward declaration of `AuthTokens` to properly resolve imports.
23
23
  namespace margelo::nitro::NitroAuth { struct AuthTokens; }
24
- // Forward declaration of `HybridAuthStorageAdapterSpec` to properly resolve imports.
25
- namespace margelo::nitro::NitroAuth { class HybridAuthStorageAdapterSpec; }
26
24
 
27
25
  #include "AuthUser.hpp"
28
26
  #include <optional>
@@ -33,8 +31,6 @@ namespace margelo::nitro::NitroAuth { class HybridAuthStorageAdapterSpec; }
33
31
  #include "LoginOptions.hpp"
34
32
  #include "AuthTokens.hpp"
35
33
  #include <functional>
36
- #include <memory>
37
- #include "HybridAuthStorageAdapterSpec.hpp"
38
34
 
39
35
  namespace margelo::nitro::NitroAuth {
40
36
 
@@ -79,7 +75,6 @@ namespace margelo::nitro::NitroAuth {
79
75
  virtual std::function<void()> onAuthStateChanged(const std::function<void(const std::optional<AuthUser>& /* user */)>& callback) = 0;
80
76
  virtual std::function<void()> onTokensRefreshed(const std::function<void(const AuthTokens& /* tokens */)>& callback) = 0;
81
77
  virtual void setLoggingEnabled(bool enabled) = 0;
82
- virtual void setStorageAdapter(const std::optional<std::shared_ptr<HybridAuthStorageAdapterSpec>>& adapter) = 0;
83
78
 
84
79
  protected:
85
80
  // Hybrid Setup
@@ -48,12 +48,13 @@ namespace margelo::nitro::NitroAuth {
48
48
  std::optional<bool> useOneTap SWIFT_PRIVATE;
49
49
  std::optional<bool> useSheet SWIFT_PRIVATE;
50
50
  std::optional<bool> forceAccountPicker SWIFT_PRIVATE;
51
+ std::optional<bool> useLegacyGoogleSignIn SWIFT_PRIVATE;
51
52
  std::optional<std::string> tenant SWIFT_PRIVATE;
52
53
  std::optional<MicrosoftPrompt> prompt SWIFT_PRIVATE;
53
54
 
54
55
  public:
55
56
  LoginOptions() = default;
56
- explicit LoginOptions(std::optional<std::vector<std::string>> scopes, std::optional<std::string> loginHint, std::optional<bool> useOneTap, std::optional<bool> useSheet, std::optional<bool> forceAccountPicker, std::optional<std::string> tenant, std::optional<MicrosoftPrompt> prompt): scopes(scopes), loginHint(loginHint), useOneTap(useOneTap), useSheet(useSheet), forceAccountPicker(forceAccountPicker), tenant(tenant), prompt(prompt) {}
57
+ explicit LoginOptions(std::optional<std::vector<std::string>> scopes, std::optional<std::string> loginHint, std::optional<bool> useOneTap, std::optional<bool> useSheet, std::optional<bool> forceAccountPicker, std::optional<bool> useLegacyGoogleSignIn, std::optional<std::string> tenant, std::optional<MicrosoftPrompt> prompt): scopes(scopes), loginHint(loginHint), useOneTap(useOneTap), useSheet(useSheet), forceAccountPicker(forceAccountPicker), useLegacyGoogleSignIn(useLegacyGoogleSignIn), tenant(tenant), prompt(prompt) {}
57
58
 
58
59
  public:
59
60
  friend bool operator==(const LoginOptions& lhs, const LoginOptions& rhs) = default;
@@ -74,6 +75,7 @@ namespace margelo::nitro {
74
75
  JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "useOneTap"))),
75
76
  JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "useSheet"))),
76
77
  JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "forceAccountPicker"))),
78
+ JSIConverter<std::optional<bool>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "useLegacyGoogleSignIn"))),
77
79
  JSIConverter<std::optional<std::string>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "tenant"))),
78
80
  JSIConverter<std::optional<margelo::nitro::NitroAuth::MicrosoftPrompt>>::fromJSI(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "prompt")))
79
81
  );
@@ -85,6 +87,7 @@ namespace margelo::nitro {
85
87
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "useOneTap"), JSIConverter<std::optional<bool>>::toJSI(runtime, arg.useOneTap));
86
88
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "useSheet"), JSIConverter<std::optional<bool>>::toJSI(runtime, arg.useSheet));
87
89
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "forceAccountPicker"), JSIConverter<std::optional<bool>>::toJSI(runtime, arg.forceAccountPicker));
90
+ obj.setProperty(runtime, PropNameIDCache::get(runtime, "useLegacyGoogleSignIn"), JSIConverter<std::optional<bool>>::toJSI(runtime, arg.useLegacyGoogleSignIn));
88
91
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "tenant"), JSIConverter<std::optional<std::string>>::toJSI(runtime, arg.tenant));
89
92
  obj.setProperty(runtime, PropNameIDCache::get(runtime, "prompt"), JSIConverter<std::optional<margelo::nitro::NitroAuth::MicrosoftPrompt>>::toJSI(runtime, arg.prompt));
90
93
  return obj;
@@ -102,6 +105,7 @@ namespace margelo::nitro {
102
105
  if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "useOneTap")))) return false;
103
106
  if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "useSheet")))) return false;
104
107
  if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "forceAccountPicker")))) return false;
108
+ if (!JSIConverter<std::optional<bool>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "useLegacyGoogleSignIn")))) return false;
105
109
  if (!JSIConverter<std::optional<std::string>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "tenant")))) return false;
106
110
  if (!JSIConverter<std::optional<margelo::nitro::NitroAuth::MicrosoftPrompt>>::canConvert(runtime, obj.getProperty(runtime, PropNameIDCache::get(runtime, "prompt")))) return false;
107
111
  return true;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-nitro-auth",
3
- "version": "0.5.0",
3
+ "version": "0.5.3",
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",
@@ -29,15 +29,18 @@
29
29
  "!scripts"
30
30
  ],
31
31
  "scripts": {
32
- "prebuild": "npm run codegen",
32
+ "prebuild": "bun run codegen",
33
33
  "build": "bob build",
34
34
  "clean": "rimraf lib nitrogen/generated",
35
35
  "codegen": "nitrogen --logLevel=\"debug\"",
36
+ "lint": "eslint .",
36
37
  "typecheck": "tsc --noEmit",
38
+ "format": "prettier --write .",
39
+ "format:check": "prettier --check .",
37
40
  "test": "jest",
38
41
  "test:coverage": "jest --coverage",
39
42
  "test:cpp": "node scripts/test-cpp.js",
40
- "prepublishOnly": "npm run clean && npm run build",
43
+ "prepublishOnly": "bun run clean && bun run build",
41
44
  "prepack": "node -e \"const fs=require('fs'); fs.copyFileSync('../../README.md','./README.md'); try{fs.copyFileSync('../../LICENSE','./LICENSE')}catch(e){}\"",
42
45
  "postpack": "node -e \"const fs=require('fs'); ['./README.md','./LICENSE'].forEach(f=>fs.existsSync(f)&&fs.unlinkSync(f))\""
43
46
  },
@@ -79,20 +82,20 @@
79
82
  },
80
83
  "devDependencies": {
81
84
  "@expo/config-plugins": "^54.0.4",
82
- "@react-native/babel-preset": "^0.83.1",
85
+ "@react-native/babel-preset": "^0.81.6",
83
86
  "@testing-library/react": "^16.3.2",
84
- "@types/node": "^25.2.1",
85
- "jest-environment-jsdom": "^30.2.0",
86
- "react": "19.2.4",
87
- "react-native": "0.83.1",
88
- "react-native-nitro-modules": "^0.33.7",
87
+ "@types/node": "^22.19.11",
88
+ "jest-environment-jsdom": "^29.7.0",
89
+ "react": "19.1.0",
90
+ "react-native": "0.81.5",
91
+ "react-native-nitro-modules": "^0.33.9",
89
92
  "react-native-web": "^0.21.2",
90
93
  "typescript": "^5.9.3"
91
94
  },
92
95
  "peerDependencies": {
93
96
  "react": "*",
94
97
  "react-native": ">=0.75.0",
95
- "react-native-nitro-modules": ">=0.33.0"
98
+ "react-native-nitro-modules": ">=0.33.9"
96
99
  },
97
100
  "react-native-builder-bob": {
98
101
  "source": "src",
package/src/Auth.nitro.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import type { HybridObject } from "react-native-nitro-modules";
2
2
 
3
- import type { AuthStorageAdapter } from "./AuthStorage.nitro";
4
-
5
3
  export type AuthProvider = "google" | "apple" | "microsoft";
6
4
 
7
5
  export type AuthErrorCode =
8
6
  | "cancelled"
7
+ | "timeout"
8
+ | "popup_blocked"
9
9
  | "network_error"
10
10
  | "configuration_error"
11
11
  | "unsupported_provider"
@@ -27,6 +27,8 @@ export interface LoginOptions {
27
27
  useSheet?: boolean;
28
28
  /** Force account picker to show, ignoring any cached session or loginHint */
29
29
  forceAccountPicker?: boolean;
30
+ /** (Android only) Use legacy Google Sign-In flow (e.g. for serverAuthCode) */
31
+ useLegacyGoogleSignIn?: boolean;
30
32
  /** (Microsoft only) Azure AD tenant - "common", "organizations", "consumers", or tenant ID */
31
33
  tenant?: string;
32
34
  /** (Microsoft only) Prompt behavior for login */
@@ -36,6 +38,7 @@ export interface LoginOptions {
36
38
  export interface AuthTokens {
37
39
  accessToken?: string;
38
40
  idToken?: string;
41
+ refreshToken?: string;
39
42
  expirationTime?: number;
40
43
  }
41
44
 
@@ -46,6 +49,7 @@ export interface AuthUser {
46
49
  photo?: string;
47
50
  idToken?: string;
48
51
  accessToken?: string;
52
+ refreshToken?: string;
49
53
  serverAuthCode?: string;
50
54
  scopes?: string[];
51
55
  expirationTime?: number;
@@ -72,5 +76,4 @@ export interface Auth extends HybridObject<{ ios: "c++"; android: "c++" }> {
72
76
  ): () => void;
73
77
  onTokensRefreshed(callback: (tokens: AuthTokens) => void): () => void;
74
78
  setLoggingEnabled(enabled: boolean): void;
75
- setStorageAdapter(adapter: AuthStorageAdapter | undefined): void;
76
79
  }