@schemavaults/auth-react-provider 0.6.8 → 0.8.0
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/dist/auth-provider/auth-provider-props.d.ts +1 -0
- package/dist/auth-provider/auth-provider.d.ts +1 -1
- package/dist/auth-provider/auth-provider.js +89 -51
- package/dist/auth-provider/auth-provider.js.map +1 -1
- package/dist/contexts/app-id-context.d.ts +2 -0
- package/dist/contexts/app-id-context.js +4 -0
- package/dist/contexts/app-id-context.js.map +1 -0
- package/dist/contexts/default-access-token-audiences-context.d.ts +2 -0
- package/dist/contexts/default-access-token-audiences-context.js +5 -0
- package/dist/contexts/default-access-token-audiences-context.js.map +1 -0
- package/dist/hooks/index.d.ts +3 -0
- package/dist/hooks/index.js +3 -0
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/use-app-id.d.ts +3 -0
- package/dist/hooks/use-app-id.js +12 -0
- package/dist/hooks/use-app-id.js.map +1 -0
- package/dist/hooks/use-auth-client-initialization.d.ts +1 -0
- package/dist/hooks/use-auth-client-initialization.js +4 -2
- package/dist/hooks/use-auth-client-initialization.js.map +1 -1
- package/dist/hooks/use-check-if-authenticated-with-server.d.ts +2 -0
- package/dist/hooks/use-check-if-authenticated-with-server.js +13 -0
- package/dist/hooks/use-check-if-authenticated-with-server.js.map +1 -0
- package/dist/hooks/use-default-access-token-audiences.d.ts +3 -0
- package/dist/hooks/use-default-access-token-audiences.js +13 -0
- package/dist/hooks/use-default-access-token-audiences.js.map +1 -0
- package/dist/hooks/use-effect-if-authenticated.js +19 -2
- package/dist/hooks/use-effect-if-authenticated.js.map +1 -1
- package/dist/hooks/use-is-auth-server.d.ts +2 -0
- package/dist/hooks/use-is-auth-server.js +10 -0
- package/dist/hooks/use-is-auth-server.js.map +1 -0
- package/dist/hooks/use-start-login-oauth-pkce-flow.js +53 -23
- package/dist/hooks/use-start-login-oauth-pkce-flow.js.map +1 -1
- package/dist/hooks/use-start-register-oauth-pkce-flow.js +11 -3
- package/dist/hooks/use-start-register-oauth-pkce-flow.js.map +1 -1
- package/dist/lib/auth-client-factory.d.ts +4 -2
- package/dist/lib/auth-client-factory.js +5 -1
- package/dist/lib/auth-client-factory.js.map +1 -1
- package/dist/lib/react-auth-client-adapter.d.ts +11 -4
- package/dist/lib/react-auth-client-adapter.js +144 -90
- package/dist/lib/react-auth-client-adapter.js.map +1 -1
- package/dist/subproviders/app-id-provider.d.ts +6 -0
- package/dist/subproviders/app-id-provider.js +16 -0
- package/dist/subproviders/app-id-provider.js.map +1 -0
- package/dist/subproviders/default-access-token-audiences-provider.d.ts +6 -0
- package/dist/subproviders/default-access-token-audiences-provider.js +22 -0
- package/dist/subproviders/default-access-token-audiences-provider.js.map +1 -0
- package/dist/types/IReactAuthClientSdkAdapterInitOptions.d.ts +3 -1
- package/package.json +4 -4
- package/dist/hooks/useCheckIfAuthenticatedWithServer.d.ts +0 -1
- package/dist/hooks/useCheckIfAuthenticatedWithServer.js +0 -8
- package/dist/hooks/useCheckIfAuthenticatedWithServer.js.map +0 -1
|
@@ -18,4 +18,5 @@ export interface SchemaVaultsAuthProviderProps extends PropsWithChildren {
|
|
|
18
18
|
default_audiences?: InitializeAuthClientOptions["default_audiences"];
|
|
19
19
|
environment: SchemaVaultsAppEnvironment;
|
|
20
20
|
invite_code_required?: boolean;
|
|
21
|
+
fetch: (url: string, init: RequestInit | undefined) => Promise<Response>;
|
|
21
22
|
}
|
|
@@ -9,7 +9,7 @@ export interface AuthSideEffectsProps extends SchemaVaultsAuthProviderProps {
|
|
|
9
9
|
}
|
|
10
10
|
/**
|
|
11
11
|
* @name SchemaVaultsAuthProvider
|
|
12
|
-
* @see
|
|
12
|
+
* @see CoreSchemaVaultsAuthProvider
|
|
13
13
|
* @returns App wrapped in AuthProvider
|
|
14
14
|
*/
|
|
15
15
|
export declare function SchemaVaultsAuthProvider(props: SchemaVaultsAuthProviderProps): ReactElement;
|
|
@@ -4,11 +4,15 @@ import { useRef, useState, useMemo, } from "react";
|
|
|
4
4
|
import { SchemaVaultsAuthContext, } from "../contexts/auth-client-context";
|
|
5
5
|
import useAuthClientInitialization from "../hooks/use-auth-client-initialization";
|
|
6
6
|
import { AuthMiddlewareManager } from "./auth-middleware-manager";
|
|
7
|
-
import { getHardcodedClientWebAppDomain, SCHEMAVAULTS_AUTH_APP_DEFINITION, } from "@schemavaults/app-definitions";
|
|
7
|
+
import { getAuthServerUri, getHardcodedClientWebAppDomain, isHardcodedAppId, SCHEMAVAULTS_AUTH_APP_DEFINITION, } from "@schemavaults/app-definitions";
|
|
8
8
|
import { SchemaVaultsAppEnvironmentContextProvider } from "../subproviders/app-environment-provider";
|
|
9
9
|
import { useDebugWithSpecifiedBooleanOrLookupDefault } from "../hooks/use-debug";
|
|
10
10
|
import DefaultSuccessfulAuthenticationRedirectPath from "../constants/DefaultSuccessfulAuthenticationRedirectPath";
|
|
11
11
|
import DefaultPkceAuthorizeRedirectPath from "../constants/DefaultPkceAuthorizeRedirectPath";
|
|
12
|
+
import AppIdProvider from "../subproviders/app-id-provider";
|
|
13
|
+
import useAppId from "../hooks/use-app-id";
|
|
14
|
+
import DefaultAccessTokenAudiencesProvider from "../subproviders/default-access-token-audiences-provider";
|
|
15
|
+
import useDefaultAccessTokenAudiences from "../hooks/use-default-access-token-audiences";
|
|
12
16
|
function AuthProviderSideEffects({ children, ready, ...props }) {
|
|
13
17
|
return ready ? (_jsx(AuthMiddlewareManager, { ...props, children: children })) : (children);
|
|
14
18
|
}
|
|
@@ -22,53 +26,74 @@ function assertHttpsInProduction(appEnvironment) {
|
|
|
22
26
|
}
|
|
23
27
|
}
|
|
24
28
|
/**
|
|
25
|
-
* @name
|
|
29
|
+
* @name CoreSchemaVaultsAuthProvider
|
|
26
30
|
* @returns App wrapped in AuthProvider
|
|
27
31
|
*/
|
|
28
|
-
function
|
|
32
|
+
function CoreSchemaVaultsAuthProvider(props) {
|
|
29
33
|
const appEnvironment = props.environment;
|
|
30
34
|
// throw if production/staging and not https
|
|
31
35
|
assertHttpsInProduction(appEnvironment);
|
|
32
|
-
const app_id =
|
|
36
|
+
const app_id = useAppId();
|
|
37
|
+
if (typeof props.fetch !== "function") {
|
|
38
|
+
throw new TypeError("Expected 'fetch' to be a function!");
|
|
39
|
+
}
|
|
33
40
|
const authServerUri = useMemo(() => {
|
|
34
41
|
if (typeof props.auth_server_uri === "string") {
|
|
35
42
|
return props.auth_server_uri;
|
|
36
43
|
}
|
|
37
|
-
|
|
38
|
-
|
|
44
|
+
else {
|
|
45
|
+
// default auth server uri
|
|
46
|
+
return getAuthServerUri(appEnvironment);
|
|
47
|
+
}
|
|
39
48
|
}, [props.auth_server_uri, appEnvironment]);
|
|
40
49
|
const debug = useDebugWithSpecifiedBooleanOrLookupDefault(appEnvironment, props.debug);
|
|
41
50
|
const successful_logout_redirect_uri = useMemo(() => {
|
|
42
|
-
if (typeof props.successful_logout_redirect_uri === "string")
|
|
51
|
+
if (typeof props.successful_logout_redirect_uri === "string") {
|
|
43
52
|
return props.successful_logout_redirect_uri;
|
|
44
|
-
try {
|
|
45
|
-
const appDomain = getHardcodedClientWebAppDomain(app_id, appEnvironment);
|
|
46
|
-
return appDomain;
|
|
47
53
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
54
|
+
// Else, successful_logout_redirect_uri was not explicitly set
|
|
55
|
+
if (debug) {
|
|
56
|
+
console.warn("[AuthProvider] A 'successful_logout_redirect_uri' was not explicitly set!");
|
|
57
|
+
}
|
|
58
|
+
if (isHardcodedAppId(app_id)) {
|
|
59
|
+
// default to homepage of app
|
|
60
|
+
try {
|
|
61
|
+
const appDomain = getHardcodedClientWebAppDomain(app_id, appEnvironment);
|
|
62
|
+
return appDomain;
|
|
63
|
+
}
|
|
64
|
+
catch (e) {
|
|
65
|
+
console.error("Failed to query domain for hardcoded app: ", e);
|
|
66
|
+
throw new Error("Failed to query domain for hardcoded app to use as post-logout redirect page!");
|
|
67
|
+
}
|
|
51
68
|
}
|
|
52
|
-
|
|
69
|
+
throw new Error("No 'successful_logout_redirect_uri' was set, and failed to automatically resolve a default!");
|
|
70
|
+
}, [props.successful_logout_redirect_uri, appEnvironment, app_id, debug]);
|
|
53
71
|
const successful_authentication_redirect_uri = useMemo(() => {
|
|
54
72
|
if (typeof props.successful_authentication_redirect_uri === "string") {
|
|
55
73
|
if (debug) {
|
|
56
|
-
console.log(`[
|
|
74
|
+
console.log(`[CoreSchemaVaultsAuthProvider] successful_authentication_redirect_uri="${props.successful_authentication_redirect_uri}" (source: props)`);
|
|
57
75
|
}
|
|
58
76
|
return props.successful_authentication_redirect_uri;
|
|
59
77
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
78
|
+
if (debug) {
|
|
79
|
+
console.warn("No 'successful_authentication_redirect_uri' has been explicitly defined if this point was reached!");
|
|
80
|
+
}
|
|
81
|
+
if (isHardcodedAppId(app_id)) {
|
|
82
|
+
try {
|
|
83
|
+
const appDomain = getHardcodedClientWebAppDomain(app_id, appEnvironment);
|
|
84
|
+
const withSuccessfulAuthenticationRedirectPath = `${appDomain}${DefaultSuccessfulAuthenticationRedirectPath}`;
|
|
85
|
+
if (debug) {
|
|
86
|
+
console.log(`[CoreSchemaVaultsAuthProvider] successful_authentication_redirect_uri="${withSuccessfulAuthenticationRedirectPath}" (source: default for app)`);
|
|
87
|
+
}
|
|
88
|
+
return withSuccessfulAuthenticationRedirectPath;
|
|
89
|
+
}
|
|
90
|
+
catch (e) {
|
|
91
|
+
console.error("Failed to load default path for successful_authentication_redirect_uri: ", e);
|
|
92
|
+
throw new Error("Failed to load default path for successful_authentication_redirect_uri!");
|
|
66
93
|
}
|
|
67
|
-
return withSuccessfulAuthenticationRedirectPath;
|
|
68
94
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
throw new Error("Failed to load default path for successful_authentication_redirect_uri!");
|
|
95
|
+
else {
|
|
96
|
+
throw new Error("No 'successful_authentication_redirect_uri' has been explicitly defined, and failed to resolve default 'successful_authentication_redirect_uri'!");
|
|
72
97
|
}
|
|
73
98
|
}, [
|
|
74
99
|
app_id,
|
|
@@ -77,51 +102,63 @@ function AppEnvironmentAwareAuthProvider(props) {
|
|
|
77
102
|
debug,
|
|
78
103
|
]);
|
|
79
104
|
const authorize_uri = useMemo(() => {
|
|
105
|
+
if (app_id === SCHEMAVAULTS_AUTH_APP_DEFINITION.app_id) {
|
|
106
|
+
if (typeof props.authorize_uri !== "undefined") {
|
|
107
|
+
throw new TypeError("An 'authorize_uri' is set, but it should not used for the @schemavaults/auth-server app!");
|
|
108
|
+
}
|
|
109
|
+
return undefined;
|
|
110
|
+
}
|
|
80
111
|
if (typeof props.authorize_uri === "string") {
|
|
81
112
|
if (debug) {
|
|
82
|
-
console.log(`[
|
|
113
|
+
console.log(`[CoreSchemaVaultsAuthProvider] authorize_uri="${props.authorize_uri}" (source: props)`);
|
|
83
114
|
}
|
|
84
115
|
if (props.authorize_uri.startsWith("http://") ||
|
|
85
116
|
props.authorize_uri.startsWith("https://")) {
|
|
86
117
|
return props.authorize_uri;
|
|
87
118
|
}
|
|
88
119
|
else if (props.authorize_uri.startsWith("/")) {
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
120
|
+
if (isHardcodedAppId(app_id)) {
|
|
121
|
+
try {
|
|
122
|
+
const appDomain = getHardcodedClientWebAppDomain(app_id, appEnvironment);
|
|
123
|
+
return `${appDomain}${props.authorize_uri}`;
|
|
124
|
+
}
|
|
125
|
+
catch (e) {
|
|
126
|
+
console.error("Failed to load web app domain: ", e);
|
|
127
|
+
throw new Error("Failed to load web app domain in order to build full HTTP/HTTPS authorize redirect url from supplied relative path!");
|
|
128
|
+
}
|
|
92
129
|
}
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
throw new Error("Failed to load web app domain in order to build full HTTP/HTTPS authorize redirect url from supplied relative path!");
|
|
130
|
+
else {
|
|
131
|
+
return props.authorize_uri;
|
|
96
132
|
}
|
|
97
|
-
return `${appDomain}${props.authorize_uri}`;
|
|
98
133
|
}
|
|
99
134
|
else {
|
|
100
135
|
throw new SyntaxError("Failed to parse the 'authorize_uri' passed to AuthProvider via props into a valid URL!");
|
|
101
136
|
}
|
|
102
137
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
if (debug) {
|
|
106
|
-
console.log("[AppEnvironmentAwareAuthProvider] authorize_uri=undefined (PKCE flow not used for auth app!)");
|
|
107
|
-
}
|
|
108
|
-
return undefined;
|
|
138
|
+
if (props.authorize_uri) {
|
|
139
|
+
throw new Error("Expected props.authorize_uri to be undefined if this point was reached!");
|
|
109
140
|
}
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
141
|
+
if (isHardcodedAppId(app_id)) {
|
|
142
|
+
try {
|
|
143
|
+
const appDomain = getHardcodedClientWebAppDomain(app_id, appEnvironment);
|
|
144
|
+
const withAuthorizePath = `${appDomain}${DefaultPkceAuthorizeRedirectPath}`;
|
|
145
|
+
if (debug) {
|
|
146
|
+
console.log(`[CoreSchemaVaultsAuthProvider] authorize_uri="${props.authorize_uri}" (source: default for app)`);
|
|
147
|
+
}
|
|
148
|
+
return withAuthorizePath;
|
|
149
|
+
}
|
|
150
|
+
catch (e) {
|
|
151
|
+
console.error(`Failed to load default path for 'authorize_uri' for hardcoded app '${app_id}': `, e);
|
|
152
|
+
throw new Error(`Failed to load default path for authorize_uri for hardcoded app '${app_id}'!`);
|
|
115
153
|
}
|
|
116
|
-
return withAuthorizePath;
|
|
117
154
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
throw new Error("Failed to load default path for authorize_uri!");
|
|
155
|
+
else {
|
|
156
|
+
throw new Error("Failed to resolve 'authorize_uri' for non-hardcoded app!");
|
|
121
157
|
}
|
|
122
158
|
}, [app_id, appEnvironment, props.authorize_uri, debug]);
|
|
123
159
|
const authClientRef = useRef(null);
|
|
124
160
|
const [ready, setReady] = useState(false);
|
|
161
|
+
const default_audiences = useDefaultAccessTokenAudiences();
|
|
125
162
|
const useAuthClientInitializationOptions = {
|
|
126
163
|
auth_server_uri: authServerUri,
|
|
127
164
|
authClientRef,
|
|
@@ -130,13 +167,14 @@ function AppEnvironmentAwareAuthProvider(props) {
|
|
|
130
167
|
successful_authentication_redirect_uri,
|
|
131
168
|
successful_logout_redirect_uri,
|
|
132
169
|
app_id,
|
|
133
|
-
default_audiences
|
|
170
|
+
default_audiences,
|
|
134
171
|
debug,
|
|
135
172
|
authorize_uri,
|
|
136
173
|
environment: appEnvironment,
|
|
137
174
|
invite_code_required: typeof props.invite_code_required === "boolean"
|
|
138
175
|
? props.invite_code_required
|
|
139
176
|
: true,
|
|
177
|
+
fetch: props.fetch,
|
|
140
178
|
};
|
|
141
179
|
// Initialize auth client, store in the authClientRef
|
|
142
180
|
useAuthClientInitialization(useAuthClientInitializationOptions);
|
|
@@ -152,11 +190,11 @@ function AppEnvironmentAwareAuthProvider(props) {
|
|
|
152
190
|
}
|
|
153
191
|
/**
|
|
154
192
|
* @name SchemaVaultsAuthProvider
|
|
155
|
-
* @see
|
|
193
|
+
* @see CoreSchemaVaultsAuthProvider
|
|
156
194
|
* @returns App wrapped in AuthProvider
|
|
157
195
|
*/
|
|
158
196
|
export function SchemaVaultsAuthProvider(props) {
|
|
159
|
-
return (_jsx(SchemaVaultsAppEnvironmentContextProvider, { environment: props.environment, children: _jsx(
|
|
197
|
+
return (_jsx(SchemaVaultsAppEnvironmentContextProvider, { environment: props.environment, children: _jsx(AppIdProvider, { app_id: props.app_id, children: _jsx(DefaultAccessTokenAudiencesProvider, { default_audiences: props.default_audiences, children: _jsx(CoreSchemaVaultsAuthProvider, { ...props }) }) }) }));
|
|
160
198
|
}
|
|
161
199
|
export default SchemaVaultsAuthProvider;
|
|
162
200
|
//# sourceMappingURL=auth-provider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-provider.js","sourceRoot":"","sources":["../../src/auth-provider/auth-provider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EACL,MAAM,EAEN,QAAQ,EAGR,OAAO,GACR,MAAM,OAAO,CAAC;AACf,OAAO,EACL,uBAAuB,GAExB,MAAM,gCAAgC,CAAC;AAOxC,OAAO,2BAEN,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,
|
|
1
|
+
{"version":3,"file":"auth-provider.js","sourceRoot":"","sources":["../../src/auth-provider/auth-provider.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-id-context.js","sourceRoot":"","sources":["../../src/contexts/app-id-context.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,MAAM,CAAC,MAAM,YAAY,GAAG,aAAa,CAAe,IAAI,CAAC,CAAC;AAC9D,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default-access-token-audiences-context.js","sourceRoot":"","sources":["../../src/contexts/default-access-token-audiences-context.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAGb,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtC,MAAM,CAAC,MAAM,kCAAkC,GAAG,aAAa,CAE7D,IAAI,CAAC,CAAC;AAER,eAAe,kCAAkC,CAAC"}
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -18,3 +18,6 @@ export { useStartLoginOauthPKCEFlow } from "./use-start-login-oauth-pkce-flow";
|
|
|
18
18
|
export type * from "./use-start-login-oauth-pkce-flow";
|
|
19
19
|
export { useStartRegisterOauthPKCEFlow } from "./use-start-register-oauth-pkce-flow";
|
|
20
20
|
export type * from "./use-start-register-oauth-pkce-flow";
|
|
21
|
+
export { useAppId } from "./use-app-id";
|
|
22
|
+
export { useIsAuthServer } from "./use-is-auth-server";
|
|
23
|
+
export { useDefaultAccessTokenAudiences } from "./use-default-access-token-audiences";
|
package/dist/hooks/index.js
CHANGED
|
@@ -8,4 +8,7 @@ export { useAuthClientStateWatcher } from "./use-auth-client-state-watcher";
|
|
|
8
8
|
export { useEffectIfAuthenticated } from "./use-effect-if-authenticated";
|
|
9
9
|
export { useStartLoginOauthPKCEFlow } from "./use-start-login-oauth-pkce-flow";
|
|
10
10
|
export { useStartRegisterOauthPKCEFlow } from "./use-start-register-oauth-pkce-flow";
|
|
11
|
+
export { useAppId } from "./use-app-id";
|
|
12
|
+
export { useIsAuthServer } from "./use-is-auth-server";
|
|
13
|
+
export { useDefaultAccessTokenAudiences } from "./use-default-access-token-audiences";
|
|
11
14
|
//# sourceMappingURL=index.js.map
|
package/dist/hooks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,wCAAwC,EAAE,MAAM,2CAA2C,CAAC;AAGrG,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAG5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAG/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAGvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAG1D,OAAO,EAAE,wCAAwC,EAAE,MAAM,2CAA2C,CAAC;AAGrG,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAGtD,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAG5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAGzE,OAAO,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AAG/E,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AAGrF,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import AppIdContext from "../contexts/app-id-context";
|
|
3
|
+
import { useContext } from "react";
|
|
4
|
+
export function useAppId() {
|
|
5
|
+
const app_id = useContext(AppIdContext);
|
|
6
|
+
if (!app_id) {
|
|
7
|
+
throw new Error("Failed to resolve client application ID from context! Is this within a AppIdContext.Provider render tree?");
|
|
8
|
+
}
|
|
9
|
+
return app_id;
|
|
10
|
+
}
|
|
11
|
+
export default useAppId;
|
|
12
|
+
//# sourceMappingURL=use-app-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-app-id.js","sourceRoot":"","sources":["../../src/hooks/use-app-id.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,YAAY,MAAM,2BAA2B,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,MAAM,UAAU,QAAQ;IACtB,MAAM,MAAM,GAAiB,UAAU,CAAC,YAAY,CAAC,CAAC;IACtD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CACb,2GAA2G,CAC5G,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -14,6 +14,7 @@ export interface UseAuthClientInitializationOptions {
|
|
|
14
14
|
default_audiences?: InitializeAuthClientOptions["default_audiences"];
|
|
15
15
|
environment: SchemaVaultsAppEnvironment;
|
|
16
16
|
invite_code_required?: boolean;
|
|
17
|
+
fetch: (url: string, init: RequestInit | undefined) => Promise<Response>;
|
|
17
18
|
}
|
|
18
19
|
export declare function useAuthClientInitialization(opts: UseAuthClientInitializationOptions): void;
|
|
19
20
|
export default useAuthClientInitialization;
|
|
@@ -4,8 +4,8 @@ import AuthClientFactory from "../lib/auth-client-factory";
|
|
|
4
4
|
import { useDebugWithSpecifiedBooleanOrLookupDefault } from "./use-debug";
|
|
5
5
|
export function useAuthClientInitialization(opts) {
|
|
6
6
|
const { ready, setReady } = opts;
|
|
7
|
-
const { successful_authentication_redirect_uri, successful_logout_redirect_uri, authorize_uri, } = opts;
|
|
8
|
-
const
|
|
7
|
+
const { successful_authentication_redirect_uri, successful_logout_redirect_uri, authorize_uri, authClientRef, auth_server_uri, app_id, default_audiences, environment, } = opts;
|
|
8
|
+
const httpFetch = opts.fetch;
|
|
9
9
|
const debug = useDebugWithSpecifiedBooleanOrLookupDefault(environment, opts.debug);
|
|
10
10
|
const invite_code_required = typeof opts.invite_code_required === "boolean"
|
|
11
11
|
? opts.invite_code_required
|
|
@@ -30,6 +30,7 @@ export function useAuthClientInitialization(opts) {
|
|
|
30
30
|
environment,
|
|
31
31
|
app_id,
|
|
32
32
|
invite_code_required,
|
|
33
|
+
fetch: httpFetch,
|
|
33
34
|
});
|
|
34
35
|
factory
|
|
35
36
|
.createAuthClientInstance()
|
|
@@ -71,6 +72,7 @@ export function useAuthClientInitialization(opts) {
|
|
|
71
72
|
authClientRef,
|
|
72
73
|
default_audiences,
|
|
73
74
|
invite_code_required,
|
|
75
|
+
httpFetch,
|
|
74
76
|
]); // end of auth client initialization side-effect
|
|
75
77
|
}
|
|
76
78
|
export default useAuthClientInitialization;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-auth-client-initialization.js","sourceRoot":"","sources":["../../src/hooks/use-auth-client-initialization.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAMb,OAAO,EAAkB,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,iBAAiB,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,2CAA2C,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"use-auth-client-initialization.js","sourceRoot":"","sources":["../../src/hooks/use-auth-client-initialization.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAMb,OAAO,EAAkB,SAAS,EAAE,MAAM,OAAO,CAAC;AAElD,OAAO,iBAAiB,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,2CAA2C,EAAE,MAAM,aAAa,CAAC;AAkB1E,MAAM,UAAU,2BAA2B,CACzC,IAAwC;IAExC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACjC,MAAM,EACJ,sCAAsC,EACtC,8BAA8B,EAC9B,aAAa,EACb,aAAa,EACb,eAAe,EACf,MAAM,EACN,iBAAiB,EACjB,WAAW,GACZ,GAAG,IAAI,CAAC;IACT,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;IAE7B,MAAM,KAAK,GAAY,2CAA2C,CAChE,WAAW,EACX,IAAI,CAAC,KAAK,CACX,CAAC;IAEF,MAAM,oBAAoB,GACxB,OAAO,IAAI,CAAC,oBAAoB,KAAK,SAAS;QAC5C,CAAC,CAAC,IAAI,CAAC,oBAAoB;QAC3B,CAAC,CAAC,IAAI,CAAC;IAEX,yCAAyC;IACzC,SAAS,CACP,SAAS,0BAA0B;QACjC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CACT,wFAAwF,EACxF,MAAM,CAAC,QAAQ,CAAC,IAAI,CACrB,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CACT,iGAAiG,EACjG,MAAM,CAAC,QAAQ,CAAC,IAAI,CACrB,CAAC;YACJ,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,iBAAiB,CAAC;oBACpC,KAAK;oBACL,iBAAiB;oBACjB,eAAe;oBACf,sCAAsC;oBACtC,8BAA8B;oBAC9B,aAAa;oBACb,WAAW;oBACX,MAAM;oBACN,oBAAoB;oBACpB,KAAK,EAAE,SAAS;iBACjB,CAAC,CAAC;gBAEH,OAAO;qBACJ,wBAAwB,EAAE;qBAC1B,IAAI,CAAC,CAAC,UAAU,EAAQ,EAAE;oBACzB,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,CAAC;wBAC3B,aAAa,CAAC,OAAO,GAAG,UAAU,CAAC;oBACrC,CAAC;oBACD,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjB,CAAC,CAAC;qBACD,KAAK,CAAC,CAAC,CAAC,EAAQ,EAAE;oBACjB,OAAO,CAAC,KAAK,CACX,4DAA4D,EAC5D,CAAC,CACF,CAAC;oBACF,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;gBACpE,CAAC,CAAC,CAAC;gBACL,OAAO;YACT,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,IAAI,KAAK,EAAE,CAAC;oBACV,OAAO,CAAC,KAAK,CACX,kEAAkE,EAClE,CAAC,CACF,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CACT,gEAAgE,EAChE,KAAK,CACN,CAAC;YACJ,CAAC;YACD,OAAO;QACT,CAAC;IACH,CAAC,EACD;QACE,KAAK;QACL,QAAQ;QACR,KAAK;QACL,MAAM;QACN,eAAe;QACf,aAAa;QACb,sCAAsC;QACtC,8BAA8B;QAC9B,WAAW;QACX,aAAa;QACb,iBAAiB;QACjB,oBAAoB;QACpB,SAAS;KACV,CACF,CAAC,CAAC,gDAAgD;AACrD,CAAC;AAED,eAAe,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useCallback } from "react";
|
|
3
|
+
export default function useCheckIfAuthenticatedWithServer() {
|
|
4
|
+
return useCallback(async function checkIfAuthenticatedWithServer(auth) {
|
|
5
|
+
if (!auth.isAuthenticated) {
|
|
6
|
+
// if client doesnt think its authenticated we wont bother double checking with the server
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
const user = await auth.checkIfAuthenticatedWithServer();
|
|
10
|
+
return user ? true : false;
|
|
11
|
+
}, []);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=use-check-if-authenticated-with-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-check-if-authenticated-with-server.js","sourceRoot":"","sources":["../../src/hooks/use-check-if-authenticated-with-server.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAMb,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,MAAM,CAAC,OAAO,UAAU,iCAAiC;IACvD,OAAO,WAAW,CAAC,KAAK,UAAU,8BAA8B,CAC9D,IAA6B;QAE7B,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,0FAA0F;YAC1F,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,GAAoB,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;QAC1E,OAAO,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7B,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import DefaultAccessTokenAudiencesContext from "../contexts/default-access-token-audiences-context";
|
|
3
|
+
import { useContext } from "react";
|
|
4
|
+
export function useDefaultAccessTokenAudiences() {
|
|
5
|
+
const defaultAccessTokenAudiences = useContext(DefaultAccessTokenAudiencesContext);
|
|
6
|
+
if (!Array.isArray(defaultAccessTokenAudiences) &&
|
|
7
|
+
typeof defaultAccessTokenAudiences !== "undefined") {
|
|
8
|
+
throw new Error("Failed to resolve default access token audiences! Is this within a DefaultAccessTokenAudiencesContext.Provider render tree?");
|
|
9
|
+
}
|
|
10
|
+
return defaultAccessTokenAudiences;
|
|
11
|
+
}
|
|
12
|
+
export default useDefaultAccessTokenAudiences;
|
|
13
|
+
//# sourceMappingURL=use-default-access-token-audiences.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-default-access-token-audiences.js","sourceRoot":"","sources":["../../src/hooks/use-default-access-token-audiences.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,kCAAkC,MAAM,mDAAmD,CAAC;AAEnG,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,MAAM,UAAU,8BAA8B;IAG5C,MAAM,2BAA2B,GAAG,UAAU,CAC5C,kCAAkC,CACnC,CAAC;IACF,IACE,CAAC,KAAK,CAAC,OAAO,CAAC,2BAA2B,CAAC;QAC3C,OAAO,2BAA2B,KAAK,WAAW,EAClD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,6HAA6H,CAC9H,CAAC;IACJ,CAAC;IACD,OAAO,2BAA2B,CAAC;AACrC,CAAC;AAED,eAAe,8BAA8B,CAAC"}
|
|
@@ -1,18 +1,35 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import { useEffect } from "react";
|
|
3
3
|
import useAuth from "./use-auth";
|
|
4
|
+
import useDebug from "./use-debug";
|
|
5
|
+
import useAppEnvironment from "./use-app-environment";
|
|
4
6
|
export function useEffectIfAuthenticated(effect) {
|
|
5
7
|
const authContext = useAuth();
|
|
8
|
+
const environment = useAppEnvironment();
|
|
9
|
+
const debug = useDebug(environment);
|
|
6
10
|
useEffect(() => {
|
|
7
11
|
if (!authContext.ready || !authContext.client.current) {
|
|
8
12
|
return;
|
|
9
13
|
}
|
|
10
14
|
const auth = authContext.client.current;
|
|
11
|
-
|
|
15
|
+
const isAuthenticated = auth.isAuthenticated;
|
|
16
|
+
if (debug) {
|
|
17
|
+
console.log(`[useEffectIfAuthenticated] isAuthenticated = ${isAuthenticated ? "True" : "False"}`);
|
|
18
|
+
}
|
|
19
|
+
if (isAuthenticated) {
|
|
20
|
+
if (debug) {
|
|
21
|
+
console.log(`[useEffectIfAuthenticated] Running 'effect' fn...`);
|
|
22
|
+
}
|
|
23
|
+
if (typeof effect !== "function") {
|
|
24
|
+
throw new TypeError("Expected 'effect' to be a function!");
|
|
25
|
+
}
|
|
12
26
|
const unsubscribe = effect(auth);
|
|
27
|
+
if (typeof unsubscribe !== "function") {
|
|
28
|
+
throw new TypeError("Expected 'unsubscribe' to be a function!");
|
|
29
|
+
}
|
|
13
30
|
return unsubscribe;
|
|
14
31
|
}
|
|
15
|
-
}, [authContext, effect]);
|
|
32
|
+
}, [authContext, effect, debug]);
|
|
16
33
|
}
|
|
17
34
|
export default useEffectIfAuthenticated;
|
|
18
35
|
//# sourceMappingURL=use-effect-if-authenticated.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-effect-if-authenticated.js","sourceRoot":"","sources":["../../src/hooks/use-effect-if-authenticated.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,OAAO,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"use-effect-if-authenticated.js","sourceRoot":"","sources":["../../src/hooks/use-effect-if-authenticated.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,OAAO,QAAQ,MAAM,aAAa,CAAC;AACnC,OAAO,iBAEN,MAAM,uBAAuB,CAAC;AAI/B,MAAM,UAAU,wBAAwB,CACtC,MAAwD;IAExD,MAAM,WAAW,GAAG,OAAO,EAAE,CAAC;IAC9B,MAAM,WAAW,GAA+B,iBAAiB,EAAE,CAAC;IACpE,MAAM,KAAK,GAAY,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE7C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtD,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAA4B,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC;QACjE,MAAM,eAAe,GAAY,IAAI,CAAC,eAAe,CAAC;QACtD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CACT,gDAAgD,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,CACrF,CAAC;QACJ,CAAC;QACD,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,KAAK,EAAE,CAAC;gBACV,OAAO,CAAC,GAAG,CAAC,mDAAmD,CAAC,CAAC;YACnE,CAAC;YACD,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,MAAM,IAAI,SAAS,CAAC,qCAAqC,CAAC,CAAC;YAC7D,CAAC;YACD,MAAM,WAAW,GAAkB,MAAM,CAAC,IAAI,CAAC,CAAC;YAChD,IAAI,OAAO,WAAW,KAAK,UAAU,EAAE,CAAC;gBACtC,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;AACnC,CAAC;AAED,eAAe,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { useMemo } from "react";
|
|
3
|
+
import useAppId from "./use-app-id";
|
|
4
|
+
import { SCHEMAVAULTS_AUTH_APP_ID, } from "@schemavaults/app-definitions";
|
|
5
|
+
export function useIsAuthServer() {
|
|
6
|
+
const appId = useAppId();
|
|
7
|
+
return useMemo(() => appId === SCHEMAVAULTS_AUTH_APP_ID, [appId]);
|
|
8
|
+
}
|
|
9
|
+
export default useIsAuthServer;
|
|
10
|
+
//# sourceMappingURL=use-is-auth-server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-is-auth-server.js","sourceRoot":"","sources":["../../src/hooks/use-is-auth-server.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,QAAQ,MAAM,cAAc,CAAC;AACpC,OAAO,EAEL,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AAEvC,MAAM,UAAU,eAAe;IAC7B,MAAM,KAAK,GAAU,QAAQ,EAAE,CAAC;IAChC,OAAO,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,wBAAwB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,eAAe,eAAe,CAAC"}
|