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.
- package/README.md +362 -190
- package/android/build.gradle +2 -5
- package/android/src/main/cpp/PlatformAuth+Android.cpp +84 -18
- package/android/src/main/java/com/auth/AuthAdapter.kt +82 -182
- package/android/src/main/java/com/auth/NitroAuthPackage.kt +1 -1
- package/app.plugin.js +2 -9
- package/cpp/AuthCache.cpp +0 -134
- package/cpp/AuthCache.hpp +0 -7
- package/cpp/HybridAuth.cpp +57 -63
- package/cpp/HybridAuth.hpp +3 -4
- package/ios/AuthAdapter.swift +23 -25
- package/lib/commonjs/Auth.web.js +523 -201
- package/lib/commonjs/Auth.web.js.map +1 -1
- package/lib/commonjs/index.js +0 -12
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +0 -12
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/js-storage-adapter.js +2 -0
- package/lib/commonjs/js-storage-adapter.js.map +1 -0
- package/lib/commonjs/service.js +9 -86
- package/lib/commonjs/service.js.map +1 -1
- package/lib/commonjs/service.web.js +1 -5
- package/lib/commonjs/service.web.js.map +1 -1
- package/lib/commonjs/ui/social-button.js +44 -29
- package/lib/commonjs/ui/social-button.js.map +1 -1
- package/lib/commonjs/ui/social-button.web.js +44 -29
- package/lib/commonjs/ui/social-button.web.js.map +1 -1
- package/lib/commonjs/use-auth.js +56 -42
- package/lib/commonjs/use-auth.js.map +1 -1
- package/lib/commonjs/utils/logger.js +12 -4
- package/lib/commonjs/utils/logger.js.map +1 -1
- package/lib/module/Auth.web.js +523 -201
- package/lib/module/Auth.web.js.map +1 -1
- package/lib/module/index.js +0 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +0 -1
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/js-storage-adapter.js +2 -0
- package/lib/module/js-storage-adapter.js.map +1 -0
- package/lib/module/service.js +9 -86
- package/lib/module/service.js.map +1 -1
- package/lib/module/service.web.js +1 -5
- package/lib/module/service.web.js.map +1 -1
- package/lib/module/ui/social-button.js +44 -29
- package/lib/module/ui/social-button.js.map +1 -1
- package/lib/module/ui/social-button.web.js +44 -29
- package/lib/module/ui/social-button.web.js.map +1 -1
- package/lib/module/use-auth.js +56 -42
- package/lib/module/use-auth.js.map +1 -1
- package/lib/module/utils/logger.js +12 -4
- package/lib/module/utils/logger.js.map +1 -1
- package/lib/typescript/commonjs/Auth.nitro.d.ts +3 -3
- package/lib/typescript/commonjs/Auth.nitro.d.ts.map +1 -1
- package/lib/typescript/commonjs/Auth.web.d.ts +25 -6
- package/lib/typescript/commonjs/Auth.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +1 -2
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +0 -1
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/js-storage-adapter.d.ts +6 -0
- package/lib/typescript/commonjs/js-storage-adapter.d.ts.map +1 -0
- package/lib/typescript/commonjs/service.d.ts +1 -8
- package/lib/typescript/commonjs/service.d.ts.map +1 -1
- package/lib/typescript/commonjs/service.web.d.ts +1 -8
- package/lib/typescript/commonjs/service.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/social-button.d.ts +6 -6
- package/lib/typescript/commonjs/ui/social-button.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/social-button.web.d.ts +6 -6
- package/lib/typescript/commonjs/ui/social-button.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/use-auth.d.ts +4 -4
- package/lib/typescript/commonjs/use-auth.d.ts.map +1 -1
- package/lib/typescript/commonjs/utils/logger.d.ts +4 -4
- package/lib/typescript/commonjs/utils/logger.d.ts.map +1 -1
- package/lib/typescript/module/Auth.nitro.d.ts +3 -3
- package/lib/typescript/module/Auth.nitro.d.ts.map +1 -1
- package/lib/typescript/module/Auth.web.d.ts +25 -6
- package/lib/typescript/module/Auth.web.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +1 -2
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +0 -1
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/js-storage-adapter.d.ts +6 -0
- package/lib/typescript/module/js-storage-adapter.d.ts.map +1 -0
- package/lib/typescript/module/service.d.ts +1 -8
- package/lib/typescript/module/service.d.ts.map +1 -1
- package/lib/typescript/module/service.web.d.ts +1 -8
- package/lib/typescript/module/service.web.d.ts.map +1 -1
- package/lib/typescript/module/ui/social-button.d.ts +6 -6
- package/lib/typescript/module/ui/social-button.d.ts.map +1 -1
- package/lib/typescript/module/ui/social-button.web.d.ts +6 -6
- package/lib/typescript/module/ui/social-button.web.d.ts.map +1 -1
- package/lib/typescript/module/use-auth.d.ts +4 -4
- package/lib/typescript/module/use-auth.d.ts.map +1 -1
- package/lib/typescript/module/utils/logger.d.ts +4 -4
- package/lib/typescript/module/utils/logger.d.ts.map +1 -1
- package/nitrogen/generated/android/NitroAuth+autolinking.cmake +0 -1
- package/nitrogen/generated/shared/c++/AuthTokens.hpp +5 -1
- package/nitrogen/generated/shared/c++/AuthUser.hpp +5 -1
- package/nitrogen/generated/shared/c++/HybridAuthSpec.cpp +0 -1
- package/nitrogen/generated/shared/c++/HybridAuthSpec.hpp +0 -5
- package/package.json +11 -8
- package/react-native-nitro-auth.podspec +1 -1
- package/src/Auth.nitro.ts +4 -3
- package/src/Auth.web.ts +700 -246
- package/src/global.d.ts +0 -1
- package/src/index.ts +1 -2
- package/src/index.web.ts +0 -1
- package/src/js-storage-adapter.ts +5 -0
- package/src/service.ts +13 -106
- package/src/service.web.ts +0 -7
- package/src/ui/social-button.tsx +66 -43
- package/src/ui/social-button.web.tsx +67 -44
- package/src/use-auth.ts +116 -72
- package/src/utils/logger.ts +12 -4
- package/ios/KeychainStore.swift +0 -43
- package/lib/commonjs/AuthStorage.nitro.js +0 -6
- package/lib/commonjs/AuthStorage.nitro.js.map +0 -1
- package/lib/module/AuthStorage.nitro.js +0 -4
- package/lib/module/AuthStorage.nitro.js.map +0 -1
- package/lib/typescript/commonjs/AuthStorage.nitro.d.ts +0 -26
- package/lib/typescript/commonjs/AuthStorage.nitro.d.ts.map +0 -1
- package/lib/typescript/module/AuthStorage.nitro.d.ts +0 -26
- package/lib/typescript/module/AuthStorage.nitro.d.ts.map +0 -1
- package/nitrogen/generated/shared/c++/HybridAuthStorageAdapterSpec.cpp +0 -23
- package/nitrogen/generated/shared/c++/HybridAuthStorageAdapterSpec.hpp +0 -65
- package/src/AuthStorage.nitro.ts +0 -26
|
@@ -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
|
-
|
|
4
|
+
export type SocialButtonVariant = "primary" | "outline" | "white" | "black";
|
|
5
|
+
export type SocialButtonProps = {
|
|
5
6
|
provider: AuthProvider;
|
|
6
|
-
variant?:
|
|
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.
|
|
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,
|
|
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
|
-
|
|
4
|
+
export type SocialButtonVariant = "primary" | "outline" | "white" | "black";
|
|
5
|
+
export type SocialButtonProps = {
|
|
5
6
|
provider: AuthProvider;
|
|
6
|
-
variant?:
|
|
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.
|
|
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,
|
|
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
|
-
|
|
2
|
+
type AuthState = {
|
|
3
3
|
user: AuthUser | undefined;
|
|
4
4
|
scopes: string[];
|
|
5
5
|
loading: boolean;
|
|
6
6
|
error: Error | undefined;
|
|
7
|
-
}
|
|
8
|
-
export
|
|
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":"
|
|
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;AA0BF,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,CAyLvC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export declare const logger: {
|
|
2
2
|
setEnabled(value: boolean): void;
|
|
3
|
-
log: (...args: unknown[]) =>
|
|
4
|
-
warn: (...args: unknown[]) =>
|
|
5
|
-
error: (...args: unknown[]) =>
|
|
6
|
-
debug: (...args: unknown[]) =>
|
|
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;
|
|
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"}
|
|
@@ -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":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE/D,
|
|
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 {
|
|
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
|
-
|
|
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
|
-
|
|
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,
|
|
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
|
|
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,
|
|
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.web.d.ts","sourceRoot":"","sources":["../../../src/index.web.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,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 @@
|
|
|
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
|
|
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;
|
|
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":"
|
|
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
|
-
|
|
4
|
+
export type SocialButtonVariant = "primary" | "outline" | "white" | "black";
|
|
5
|
+
export type SocialButtonProps = {
|
|
5
6
|
provider: AuthProvider;
|
|
6
|
-
variant?:
|
|
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.
|
|
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,
|
|
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
|
-
|
|
4
|
+
export type SocialButtonVariant = "primary" | "outline" | "white" | "black";
|
|
5
|
+
export type SocialButtonProps = {
|
|
5
6
|
provider: AuthProvider;
|
|
6
|
-
variant?:
|
|
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.
|
|
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,
|
|
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
|
-
|
|
2
|
+
type AuthState = {
|
|
3
3
|
user: AuthUser | undefined;
|
|
4
4
|
scopes: string[];
|
|
5
5
|
loading: boolean;
|
|
6
6
|
error: Error | undefined;
|
|
7
|
-
}
|
|
8
|
-
export
|
|
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":"
|
|
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;AA0BF,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,CAyLvC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export declare const logger: {
|
|
2
2
|
setEnabled(value: boolean): void;
|
|
3
|
-
log: (...args: unknown[]) =>
|
|
4
|
-
warn: (...args: unknown[]) =>
|
|
5
|
-
error: (...args: unknown[]) =>
|
|
6
|
-
debug: (...args: unknown[]) =>
|
|
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;
|
|
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
|