@civic/auth 0.0.1-beta.16 → 0.0.1-beta.18
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/{chunk-FBU2CKWK.mjs → chunk-5XL2ST72.mjs} +45 -14
- package/dist/chunk-5XL2ST72.mjs.map +1 -0
- package/dist/chunk-CRTRMMJ7.js.map +1 -1
- package/dist/{chunk-RKQDQJOM.mjs → chunk-G3P5TIO2.mjs} +1 -1
- package/dist/chunk-G3P5TIO2.mjs.map +1 -0
- package/dist/{chunk-CHY6AHA7.js → chunk-RF23Q4V6.js} +1 -1
- package/dist/chunk-RF23Q4V6.js.map +1 -0
- package/dist/{chunk-N4SAZYOX.js → chunk-SEKF2WZX.js} +50 -19
- package/dist/chunk-SEKF2WZX.js.map +1 -0
- package/dist/{index-Bq3T3FPG.d.ts → index-DTimUlkB.d.ts} +2 -1
- package/dist/{index-GtnyFGD2.d.mts → index-DvjkKpkk.d.mts} +2 -1
- package/dist/index.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js.map +1 -1
- package/dist/nextjs.d.mts +3 -9
- package/dist/nextjs.d.ts +3 -9
- package/dist/nextjs.js +25 -25
- package/dist/nextjs.js.map +1 -1
- package/dist/nextjs.mjs +4 -4
- package/dist/nextjs.mjs.map +1 -1
- package/dist/react.d.mts +16 -10
- package/dist/react.d.ts +16 -10
- package/dist/react.js +152 -89
- package/dist/react.js.map +1 -1
- package/dist/react.mjs +167 -104
- package/dist/react.mjs.map +1 -1
- package/dist/server.d.mts +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +2 -2
- package/dist/server.js.map +1 -1
- package/dist/server.mjs +1 -1
- package/dist/{types-Bfi0hVMZ.d.mts → types-HdCjGldB.d.mts} +2 -2
- package/dist/{types-Bfi0hVMZ.d.ts → types-HdCjGldB.d.ts} +2 -2
- package/dist/types-b4c1koXj.d.mts +19 -0
- package/dist/types-b4c1koXj.d.ts +19 -0
- package/package.json +15 -15
- package/dist/chunk-CHY6AHA7.js.map +0 -1
- package/dist/chunk-FBU2CKWK.mjs.map +0 -1
- package/dist/chunk-N4SAZYOX.js.map +0 -1
- package/dist/chunk-RKQDQJOM.mjs.map +0 -1
package/dist/react.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
var
|
|
5
|
+
var _chunkSEKF2WZXjs = require('./chunk-SEKF2WZX.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
@@ -18,7 +18,7 @@ var _chunkN4SAZYOXjs = require('./chunk-N4SAZYOX.js');
|
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
var
|
|
21
|
+
var _chunkRF23Q4V6js = require('./chunk-RF23Q4V6.js');
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
@@ -61,31 +61,15 @@ var useAuth = () => {
|
|
|
61
61
|
|
|
62
62
|
// src/react/providers/SessionProvider.tsx
|
|
63
63
|
|
|
64
|
-
|
|
65
|
-
|
|
66
64
|
var _jsxruntime = require('react/jsx-runtime');
|
|
67
65
|
var defaultSession = {
|
|
68
66
|
authenticated: false,
|
|
69
67
|
idToken: void 0,
|
|
70
68
|
accessToken: void 0,
|
|
71
|
-
displayMode: "iframe"
|
|
72
|
-
iframeRef: null,
|
|
73
|
-
setAuthResponseUrl: () => {
|
|
74
|
-
}
|
|
69
|
+
displayMode: "iframe"
|
|
75
70
|
};
|
|
76
71
|
var SessionContext = _react.createContext.call(void 0, defaultSession);
|
|
77
|
-
var SessionProvider = ({
|
|
78
|
-
children,
|
|
79
|
-
session,
|
|
80
|
-
iframeRef,
|
|
81
|
-
setAuthResponseUrl
|
|
82
|
-
}) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
83
|
-
SessionContext.Provider,
|
|
84
|
-
{
|
|
85
|
-
value: _chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, session || defaultSession), { iframeRef, setAuthResponseUrl }),
|
|
86
|
-
children
|
|
87
|
-
}
|
|
88
|
-
);
|
|
72
|
+
var SessionProvider = ({ children, session }) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SessionContext.Provider, { value: _chunkCRTRMMJ7js.__spreadValues.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, defaultSession), session || {}), children });
|
|
89
73
|
|
|
90
74
|
// src/react/hooks/useSession.tsx
|
|
91
75
|
var useSession = () => {
|
|
@@ -117,7 +101,7 @@ var TokenProvider = ({ children }) => {
|
|
|
117
101
|
const parsedJWT = _jwt.parseJWT.call(void 0, session.idToken);
|
|
118
102
|
if (!parsedJWT) return null;
|
|
119
103
|
const { forwardedTokens } = parsedJWT.payload;
|
|
120
|
-
return forwardedTokens ?
|
|
104
|
+
return forwardedTokens ? _chunkRF23Q4V6js.convertForwardedTokenFormat.call(void 0, forwardedTokens) : null;
|
|
121
105
|
}, [session == null ? void 0 : session.idToken]);
|
|
122
106
|
const value = _react.useMemo.call(void 0,
|
|
123
107
|
() => ({
|
|
@@ -168,7 +152,7 @@ var UserProvider = ({
|
|
|
168
152
|
if (!accessToken) {
|
|
169
153
|
return null;
|
|
170
154
|
}
|
|
171
|
-
const userSession = new (0,
|
|
155
|
+
const userSession = new (0, _chunkRF23Q4V6js.GenericUserSession)(storage);
|
|
172
156
|
return userSession.get();
|
|
173
157
|
});
|
|
174
158
|
const {
|
|
@@ -273,7 +257,7 @@ var CivicAuthIframe = _react.forwardRef.call(void 0,
|
|
|
273
257
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
274
258
|
"iframe",
|
|
275
259
|
{
|
|
276
|
-
id:
|
|
260
|
+
id: _chunkRF23Q4V6js.IFRAME_ID,
|
|
277
261
|
ref,
|
|
278
262
|
className: "cac-h-[26rem] cac-w-80 cac-border-none",
|
|
279
263
|
onLoad
|
|
@@ -328,7 +312,7 @@ var CivicAuthIframeContainer = ({
|
|
|
328
312
|
const [isLoading, setIsLoading] = _react.useState.call(void 0, true);
|
|
329
313
|
const { isLoading: isAuthLoading } = useAuth();
|
|
330
314
|
const config = useConfig();
|
|
331
|
-
const { setAuthResponseUrl, iframeRef } =
|
|
315
|
+
const { setAuthResponseUrl, iframeRef } = useIframe();
|
|
332
316
|
const processIframeUrl = _react.useCallback.call(void 0, () => {
|
|
333
317
|
if (iframeRef && iframeRef.current && iframeRef.current.contentWindow) {
|
|
334
318
|
try {
|
|
@@ -336,9 +320,9 @@ var CivicAuthIframeContainer = ({
|
|
|
336
320
|
if (iframeUrl.startsWith(config.redirectUrl)) {
|
|
337
321
|
setIsLoading(true);
|
|
338
322
|
const iframeBody = iframeRef.current.contentWindow.document.body.innerHTML;
|
|
339
|
-
if (iframeBody.includes(
|
|
323
|
+
if (iframeBody.includes(_chunkRF23Q4V6js.TOKEN_EXCHANGE_TRIGGER_TEXT)) {
|
|
340
324
|
console.log(
|
|
341
|
-
`${
|
|
325
|
+
`${_chunkRF23Q4V6js.TOKEN_EXCHANGE_TRIGGER_TEXT}, calling callback URL again...`
|
|
342
326
|
);
|
|
343
327
|
const params = new URL(iframeUrl).searchParams;
|
|
344
328
|
fetch(`${config.redirectUrl}?${params.toString()}`);
|
|
@@ -423,6 +407,23 @@ var ConfigProvider = ({
|
|
|
423
407
|
}
|
|
424
408
|
);
|
|
425
409
|
|
|
410
|
+
// src/react/providers/IframeProvider.tsx
|
|
411
|
+
|
|
412
|
+
|
|
413
|
+
|
|
414
|
+
|
|
415
|
+
var defaultIframe = {
|
|
416
|
+
iframeRef: null,
|
|
417
|
+
setAuthResponseUrl: () => {
|
|
418
|
+
}
|
|
419
|
+
};
|
|
420
|
+
var IframeContext = _react.createContext.call(void 0, defaultIframe);
|
|
421
|
+
var IframeProvider = ({
|
|
422
|
+
children,
|
|
423
|
+
iframeRef,
|
|
424
|
+
setAuthResponseUrl
|
|
425
|
+
}) => /* @__PURE__ */ _jsxruntime.jsx.call(void 0, IframeContext.Provider, { value: { iframeRef, setAuthResponseUrl }, children });
|
|
426
|
+
|
|
426
427
|
// src/shared/AuthProvider.tsx
|
|
427
428
|
|
|
428
429
|
var globalThisObject;
|
|
@@ -435,7 +436,7 @@ if (typeof window !== "undefined") {
|
|
|
435
436
|
}
|
|
436
437
|
globalThisObject.globalThis = globalThisObject;
|
|
437
438
|
function BlockDisplay({ children }) {
|
|
438
|
-
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "cac-
|
|
439
|
+
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "cac-relative cac-left-0 cac-top-0 cac-z-50 cac-flex cac-h-screen cac-w-screen cac-items-center cac-justify-center cac-bg-white", children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "cac-absolute cac-inset-0 cac-flex cac-items-center cac-justify-center cac-bg-white", children }) });
|
|
439
440
|
}
|
|
440
441
|
var AuthProvider = ({
|
|
441
442
|
children,
|
|
@@ -446,7 +447,8 @@ var AuthProvider = ({
|
|
|
446
447
|
onSignOut,
|
|
447
448
|
pkceConsumer,
|
|
448
449
|
nonce,
|
|
449
|
-
modalIframe = true
|
|
450
|
+
modalIframe = true,
|
|
451
|
+
sessionData: inputSessionData
|
|
450
452
|
}) => {
|
|
451
453
|
const [iframeUrl, setIframeUrl] = _react.useState.call(void 0, null);
|
|
452
454
|
const [currentUrl, setCurrentUrl] = _react.useState.call(void 0, null);
|
|
@@ -459,11 +461,11 @@ var AuthProvider = ({
|
|
|
459
461
|
const [isRedirecting, setIsRedirecting] = _react.useState.call(void 0, false);
|
|
460
462
|
const queryClient3 = _reactquery.useQueryClient.call(void 0, );
|
|
461
463
|
const iframeRef = _react.useRef.call(void 0, null);
|
|
462
|
-
const serverTokenExchange = pkceConsumer instanceof
|
|
464
|
+
const serverTokenExchange = pkceConsumer instanceof _chunkRF23Q4V6js.ConfidentialClientPKCEConsumer;
|
|
463
465
|
_react.useEffect.call(void 0, () => {
|
|
464
466
|
if (typeof globalThis.window !== "undefined") {
|
|
465
467
|
setCurrentUrl(globalThis.window.location.href);
|
|
466
|
-
const isInIframeVal =
|
|
468
|
+
const isInIframeVal = _chunkRF23Q4V6js.isWindowInIframe.call(void 0, globalThis.window);
|
|
467
469
|
setIsInIframe(isInIframeVal);
|
|
468
470
|
}
|
|
469
471
|
}, []);
|
|
@@ -474,11 +476,11 @@ var AuthProvider = ({
|
|
|
474
476
|
const [authService, setAuthService] = _react.useState.call(void 0, );
|
|
475
477
|
_react.useEffect.call(void 0, () => {
|
|
476
478
|
if (!currentUrl) return;
|
|
477
|
-
|
|
479
|
+
_chunkRF23Q4V6js.BrowserAuthenticationService.build({
|
|
478
480
|
clientId,
|
|
479
481
|
redirectUrl,
|
|
480
482
|
oauthServer: config.oauthServer,
|
|
481
|
-
scopes:
|
|
483
|
+
scopes: _chunkRF23Q4V6js.DEFAULT_SCOPES,
|
|
482
484
|
displayMode
|
|
483
485
|
}).then(setAuthService);
|
|
484
486
|
}, [currentUrl, clientId, redirectUrl, config, displayMode]);
|
|
@@ -499,9 +501,16 @@ var AuthProvider = ({
|
|
|
499
501
|
if (!authService) {
|
|
500
502
|
return { authenticated: false };
|
|
501
503
|
}
|
|
504
|
+
if (inputSessionData) {
|
|
505
|
+
return inputSessionData;
|
|
506
|
+
}
|
|
502
507
|
const url = new URL(
|
|
503
508
|
authResponseUrl ? authResponseUrl : globalThis.window.location.href || ""
|
|
504
509
|
);
|
|
510
|
+
const existingSessionData = yield authService.validateExistingSession();
|
|
511
|
+
if (existingSessionData.authenticated) {
|
|
512
|
+
return existingSessionData;
|
|
513
|
+
}
|
|
505
514
|
const code = url.searchParams.get("code");
|
|
506
515
|
const state = url.searchParams.get("state");
|
|
507
516
|
if (!serverTokenExchange && code && state && !isInIframe) {
|
|
@@ -512,12 +521,12 @@ var AuthProvider = ({
|
|
|
512
521
|
state
|
|
513
522
|
});
|
|
514
523
|
yield authService.tokenExchange(code, state);
|
|
515
|
-
const clientStorage = new (0,
|
|
516
|
-
const user = yield
|
|
524
|
+
const clientStorage = new (0, _chunkRF23Q4V6js.LocalStorageAdapter)();
|
|
525
|
+
const user = yield _chunkRF23Q4V6js.getUser.call(void 0, clientStorage);
|
|
517
526
|
if (!user) {
|
|
518
527
|
throw new Error("Failed to get user info");
|
|
519
528
|
}
|
|
520
|
-
const userSession = new (0,
|
|
529
|
+
const userSession = new (0, _chunkRF23Q4V6js.GenericUserSession)(clientStorage);
|
|
521
530
|
userSession.set(user);
|
|
522
531
|
onSignIn == null ? void 0 : onSignIn();
|
|
523
532
|
return authService.getSessionData();
|
|
@@ -529,10 +538,6 @@ var AuthProvider = ({
|
|
|
529
538
|
return { authenticated: false };
|
|
530
539
|
}
|
|
531
540
|
}
|
|
532
|
-
const existingSessionData = yield authService.validateExistingSession();
|
|
533
|
-
if (existingSessionData.authenticated) {
|
|
534
|
-
return existingSessionData;
|
|
535
|
-
}
|
|
536
541
|
return existingSessionData;
|
|
537
542
|
})
|
|
538
543
|
});
|
|
@@ -565,13 +570,13 @@ var AuthProvider = ({
|
|
|
565
570
|
if (!pkceConsumer) {
|
|
566
571
|
return null;
|
|
567
572
|
}
|
|
568
|
-
return browserAuthenticationInitiator || new (0,
|
|
573
|
+
return browserAuthenticationInitiator || new (0, _chunkRF23Q4V6js.BrowserAuthenticationInitiator)({
|
|
569
574
|
pkceConsumer,
|
|
570
575
|
// generate and retrieve the challenge client-side
|
|
571
576
|
clientId,
|
|
572
577
|
redirectUrl,
|
|
573
|
-
state:
|
|
574
|
-
scopes:
|
|
578
|
+
state: _chunkRF23Q4V6js.generateState.call(void 0, useDisplayMode),
|
|
579
|
+
scopes: _chunkRF23Q4V6js.DEFAULT_SCOPES,
|
|
575
580
|
displayMode: useDisplayMode,
|
|
576
581
|
oauthServer: config.oauthServer,
|
|
577
582
|
// the endpoints to use for the login (if not obtained from the auth server
|
|
@@ -608,11 +613,7 @@ var AuthProvider = ({
|
|
|
608
613
|
() => session ? session.authenticated : false,
|
|
609
614
|
[session]
|
|
610
615
|
);
|
|
611
|
-
|
|
612
|
-
data: autoSignIn,
|
|
613
|
-
isLoading: autoSignInLoading,
|
|
614
|
-
error: autoSignInError
|
|
615
|
-
} = _reactquery.useQuery.call(void 0, {
|
|
616
|
+
_reactquery.useQuery.call(void 0, {
|
|
616
617
|
queryKey: ["autoSignIn", modalIframe, redirectUrl, isAuthenticated],
|
|
617
618
|
queryFn: () => _chunkCRTRMMJ7js.__async.call(void 0, void 0, null, function* () {
|
|
618
619
|
if (!modalIframe && redirectUrl && !isAuthenticated && iframeRef.current) {
|
|
@@ -642,12 +643,11 @@ var AuthProvider = ({
|
|
|
642
643
|
modalIframe,
|
|
643
644
|
serverTokenExchange,
|
|
644
645
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
645
|
-
|
|
646
|
+
IframeProvider,
|
|
646
647
|
{
|
|
647
|
-
session,
|
|
648
648
|
setAuthResponseUrl,
|
|
649
649
|
iframeRef,
|
|
650
|
-
children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, TokenProvider, { children: [
|
|
650
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SessionProvider, { session, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, TokenProvider, { children: [
|
|
651
651
|
modalIframe && !isInIframe && !(session == null ? void 0 : session.authenticated) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
652
652
|
"div",
|
|
653
653
|
{
|
|
@@ -660,13 +660,13 @@ var AuthProvider = ({
|
|
|
660
660
|
)
|
|
661
661
|
}
|
|
662
662
|
),
|
|
663
|
-
modalIframe && (isInIframe || isRedirecting || isLoading) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BlockDisplay, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LoadingIcon, {}) }),
|
|
663
|
+
modalIframe && (isInIframe || isRedirecting || isLoading && !serverTokenExchange) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BlockDisplay, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, LoadingIcon, {}) }),
|
|
664
664
|
(tokenExchangeError || error) && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, BlockDisplay, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
|
|
665
665
|
"Error: ",
|
|
666
666
|
(tokenExchangeError || error).message
|
|
667
667
|
] }) }),
|
|
668
668
|
children
|
|
669
|
-
] })
|
|
669
|
+
] }) })
|
|
670
670
|
}
|
|
671
671
|
)
|
|
672
672
|
}
|
|
@@ -683,8 +683,8 @@ var CivicAuthProvider = (_a) => {
|
|
|
683
683
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactquery.QueryClientProvider, { client: queryClient, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
684
684
|
AuthProvider,
|
|
685
685
|
_chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, props), {
|
|
686
|
-
pkceConsumer: new (0,
|
|
687
|
-
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserProvider, { storage: new (0,
|
|
686
|
+
pkceConsumer: new (0, _chunkRF23Q4V6js.BrowserPublicClientPKCEProducer)(),
|
|
687
|
+
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, UserProvider, { storage: new (0, _chunkRF23Q4V6js.LocalStorageAdapter)(), children })
|
|
688
688
|
})
|
|
689
689
|
) });
|
|
690
690
|
};
|
|
@@ -694,6 +694,68 @@ var CivicAuthProvider = (_a) => {
|
|
|
694
694
|
|
|
695
695
|
|
|
696
696
|
|
|
697
|
+
// src/react/hooks/useTokenCookie.ts
|
|
698
|
+
|
|
699
|
+
var _navigationjs = require('next/navigation.js');
|
|
700
|
+
|
|
701
|
+
|
|
702
|
+
// src/lib/cookies.ts
|
|
703
|
+
var getWindowCookieValue = ({
|
|
704
|
+
key,
|
|
705
|
+
window: window2,
|
|
706
|
+
parseJson = false
|
|
707
|
+
}) => {
|
|
708
|
+
const cookie = window2.document.cookie;
|
|
709
|
+
if (!cookie) return null;
|
|
710
|
+
const cookies = cookie.split(";");
|
|
711
|
+
for (const c of cookies) {
|
|
712
|
+
const [name, value] = c.trim().split("=");
|
|
713
|
+
if (value && name === key) {
|
|
714
|
+
try {
|
|
715
|
+
const decodeURIComponentValue = decodeURIComponent(value);
|
|
716
|
+
return parseJson === true ? JSON.parse(decodeURIComponentValue) : decodeURIComponentValue;
|
|
717
|
+
} catch (e) {
|
|
718
|
+
return value;
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
}
|
|
722
|
+
return null;
|
|
723
|
+
};
|
|
724
|
+
|
|
725
|
+
// src/react/hooks/useTokenCookie.ts
|
|
726
|
+
var getTokenFromCookie = (tokenName) => {
|
|
727
|
+
return getWindowCookieValue({
|
|
728
|
+
key: tokenName,
|
|
729
|
+
window: globalThis.window,
|
|
730
|
+
parseJson: false
|
|
731
|
+
});
|
|
732
|
+
};
|
|
733
|
+
var useTokenCookie = (tokenName) => {
|
|
734
|
+
const hasRunRef = _react.useRef.call(void 0, false);
|
|
735
|
+
const router = _navigationjs.useRouter.call(void 0, );
|
|
736
|
+
const { data: token } = _reactquery.useQuery.call(void 0, {
|
|
737
|
+
queryKey: ["token", tokenName],
|
|
738
|
+
queryFn: () => getTokenFromCookie(tokenName) || null,
|
|
739
|
+
refetchInterval: 2e3,
|
|
740
|
+
refetchIntervalInBackground: true,
|
|
741
|
+
enabled: !hasRunRef.current,
|
|
742
|
+
refetchOnWindowFocus: true
|
|
743
|
+
});
|
|
744
|
+
_react.useEffect.call(void 0, () => {
|
|
745
|
+
if (token) {
|
|
746
|
+
if (!hasRunRef.current) {
|
|
747
|
+
hasRunRef.current = true;
|
|
748
|
+
router.refresh();
|
|
749
|
+
}
|
|
750
|
+
} else {
|
|
751
|
+
hasRunRef.current = false;
|
|
752
|
+
}
|
|
753
|
+
}, [token, router]);
|
|
754
|
+
return token != null ? token : null;
|
|
755
|
+
};
|
|
756
|
+
|
|
757
|
+
// src/react/providers/NextAuthProvider.tsx
|
|
758
|
+
|
|
697
759
|
var queryClient2 = new (0, _reactquery.QueryClient)();
|
|
698
760
|
var CivicNextAuthProvider = (_a) => {
|
|
699
761
|
var _b = _a, {
|
|
@@ -702,18 +764,23 @@ var CivicNextAuthProvider = (_a) => {
|
|
|
702
764
|
"children"
|
|
703
765
|
]);
|
|
704
766
|
const [redirectUrl, setRedirectUrl] = _react.useState.call(void 0, "");
|
|
705
|
-
const { clientId, oauthServer, callbackUrl, challengeUrl, logoutUrl } =
|
|
767
|
+
const { clientId, oauthServer, callbackUrl, challengeUrl, logoutUrl } = _chunkSEKF2WZXjs.resolveAuthConfig.call(void 0, );
|
|
706
768
|
_react.useEffect.call(void 0, () => {
|
|
707
769
|
if (typeof globalThis.window !== "undefined") {
|
|
708
770
|
const currentUrl = globalThis.window.location.href;
|
|
709
|
-
setRedirectUrl(
|
|
771
|
+
setRedirectUrl(_chunkSEKF2WZXjs.resolveCallbackUrl.call(void 0, _chunkSEKF2WZXjs.resolveAuthConfig.call(void 0, ), currentUrl));
|
|
710
772
|
}
|
|
711
773
|
}, [callbackUrl]);
|
|
712
774
|
const user = useUserCookie();
|
|
775
|
+
const idToken = useTokenCookie("id_token" /* ID_TOKEN */);
|
|
776
|
+
const combinedUser = user ? _chunkCRTRMMJ7js.__spreadProps.call(void 0, _chunkCRTRMMJ7js.__spreadValues.call(void 0, {}, user || {}), { idToken }) : null;
|
|
777
|
+
const sessionData = _chunkCRTRMMJ7js.__spreadValues.call(void 0, {
|
|
778
|
+
authenticated: !!user
|
|
779
|
+
}, idToken ? { idToken } : {});
|
|
713
780
|
const signOut = () => _chunkCRTRMMJ7js.__async.call(void 0, void 0, null, function* () {
|
|
714
781
|
var _a2;
|
|
715
|
-
yield fetch(logoutUrl);
|
|
716
782
|
(_a2 = props.onSignOut) == null ? void 0 : _a2.call(props);
|
|
783
|
+
window.location.href = logoutUrl;
|
|
717
784
|
return;
|
|
718
785
|
});
|
|
719
786
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reactquery.QueryClientProvider, { client: queryClient2, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
@@ -722,12 +789,13 @@ var CivicNextAuthProvider = (_a) => {
|
|
|
722
789
|
redirectUrl,
|
|
723
790
|
config: { oauthServer },
|
|
724
791
|
clientId,
|
|
725
|
-
pkceConsumer: new (0,
|
|
792
|
+
pkceConsumer: new (0, _chunkRF23Q4V6js.ConfidentialClientPKCEConsumer)(challengeUrl),
|
|
793
|
+
sessionData,
|
|
726
794
|
children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
727
795
|
UserProvider,
|
|
728
796
|
{
|
|
729
|
-
storage: new (0,
|
|
730
|
-
user,
|
|
797
|
+
storage: new (0, _chunkSEKF2WZXjs.NextjsClientStorage)(),
|
|
798
|
+
user: combinedUser,
|
|
731
799
|
signOut,
|
|
732
800
|
children
|
|
733
801
|
}
|
|
@@ -747,31 +815,14 @@ var useUser = () => {
|
|
|
747
815
|
|
|
748
816
|
// src/react/hooks/useUserCookie.ts
|
|
749
817
|
|
|
750
|
-
var _navigationjs = require('next/navigation.js');
|
|
751
|
-
|
|
752
818
|
|
|
753
|
-
// src/lib/cookies.ts
|
|
754
|
-
var getCookieValue = (key, window2) => {
|
|
755
|
-
const cookie = window2.document.cookie;
|
|
756
|
-
if (!cookie) return null;
|
|
757
|
-
const cookies = cookie.split(";");
|
|
758
|
-
for (const c of cookies) {
|
|
759
|
-
const [name, value] = c.trim().split("=");
|
|
760
|
-
if (value && name === key) {
|
|
761
|
-
try {
|
|
762
|
-
return JSON.parse(decodeURIComponent(value));
|
|
763
|
-
} catch (e) {
|
|
764
|
-
console.log("Error parsing cookie value", e);
|
|
765
|
-
return value;
|
|
766
|
-
}
|
|
767
|
-
}
|
|
768
|
-
}
|
|
769
|
-
return null;
|
|
770
|
-
};
|
|
771
819
|
|
|
772
|
-
// src/react/hooks/useUserCookie.ts
|
|
773
820
|
var getUserFromCookie = () => {
|
|
774
|
-
const userCookie =
|
|
821
|
+
const userCookie = getWindowCookieValue({
|
|
822
|
+
key: "user" /* USER */,
|
|
823
|
+
window: globalThis.window,
|
|
824
|
+
parseJson: true
|
|
825
|
+
});
|
|
775
826
|
return userCookie;
|
|
776
827
|
};
|
|
777
828
|
var useUserCookie = () => {
|
|
@@ -795,7 +846,7 @@ var useUserCookie = () => {
|
|
|
795
846
|
hasRunRef.current = false;
|
|
796
847
|
}
|
|
797
848
|
}, [user, router]);
|
|
798
|
-
return user;
|
|
849
|
+
return user != null ? user : null;
|
|
799
850
|
};
|
|
800
851
|
|
|
801
852
|
// src/react/hooks/useConfig.tsx
|
|
@@ -808,6 +859,16 @@ var useConfig = () => {
|
|
|
808
859
|
return context;
|
|
809
860
|
};
|
|
810
861
|
|
|
862
|
+
// src/react/hooks/useIframe.tsx
|
|
863
|
+
|
|
864
|
+
var useIframe = () => {
|
|
865
|
+
const context = _react.useContext.call(void 0, IframeContext);
|
|
866
|
+
if (!context) {
|
|
867
|
+
throw new Error("useIframe must be used within an IframeProvider");
|
|
868
|
+
}
|
|
869
|
+
return context;
|
|
870
|
+
};
|
|
871
|
+
|
|
811
872
|
// src/react/components/UserButton.tsx
|
|
812
873
|
|
|
813
874
|
|
|
@@ -883,7 +944,7 @@ var UserButton = ({
|
|
|
883
944
|
/* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
|
|
884
945
|
"button",
|
|
885
946
|
{
|
|
886
|
-
className:
|
|
947
|
+
className: _chunkRF23Q4V6js.cn.call(void 0,
|
|
887
948
|
"cac-flex cac-w-full cac-items-center cac-justify-between cac-gap-2 cac-rounded-full cac-border cac-border-neutral-500 cac-px-3 cac-py-2 cac-text-neutral-500 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50",
|
|
888
949
|
className
|
|
889
950
|
),
|
|
@@ -922,7 +983,7 @@ var UserButton = ({
|
|
|
922
983
|
"button",
|
|
923
984
|
{
|
|
924
985
|
"data-testid": "sign-in-button",
|
|
925
|
-
className:
|
|
986
|
+
className: _chunkRF23Q4V6js.cn.call(void 0,
|
|
926
987
|
"cac-rounded-full cac-border cac-border-neutral-500 cac-px-3 cac-py-2 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50",
|
|
927
988
|
className
|
|
928
989
|
),
|
|
@@ -943,7 +1004,7 @@ var SignInButton = ({
|
|
|
943
1004
|
"button",
|
|
944
1005
|
{
|
|
945
1006
|
"data-testid": "sign-in-button",
|
|
946
|
-
className:
|
|
1007
|
+
className: _chunkRF23Q4V6js.cn.call(void 0,
|
|
947
1008
|
"cac-rounded-full cac-border cac-border-neutral-500 cac-px-3 cac-py-2 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50",
|
|
948
1009
|
className
|
|
949
1010
|
),
|
|
@@ -960,7 +1021,7 @@ var SignOutButton = ({ className }) => {
|
|
|
960
1021
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
|
|
961
1022
|
"button",
|
|
962
1023
|
{
|
|
963
|
-
className:
|
|
1024
|
+
className: _chunkRF23Q4V6js.cn.call(void 0,
|
|
964
1025
|
"cac-rounded-full cac-border cac-border-neutral-500 cac-px-3 cac-py-2 cac-transition-colors hover:cac-bg-neutral-200 hover:cac-bg-opacity-50",
|
|
965
1026
|
className
|
|
966
1027
|
),
|
|
@@ -973,7 +1034,7 @@ var SignOutButton = ({ className }) => {
|
|
|
973
1034
|
// src/react/components/NextLogOut.tsx
|
|
974
1035
|
|
|
975
1036
|
var NextLogOut = ({ children }) => {
|
|
976
|
-
const config =
|
|
1037
|
+
const config = _chunkSEKF2WZXjs.resolveAuthConfig.call(void 0, );
|
|
977
1038
|
const logoutUrl = `${config.logoutUrl}`;
|
|
978
1039
|
return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "a", { href: logoutUrl, children });
|
|
979
1040
|
};
|
|
@@ -991,5 +1052,7 @@ var NextLogOut = ({ children }) => {
|
|
|
991
1052
|
|
|
992
1053
|
|
|
993
1054
|
|
|
994
|
-
|
|
1055
|
+
|
|
1056
|
+
|
|
1057
|
+
exports.CivicAuthIframeContainer = CivicAuthIframeContainer; exports.CivicAuthProvider = CivicAuthProvider; exports.CivicNextAuthProvider = CivicNextAuthProvider; exports.NextLogOut = NextLogOut; exports.SignInButton = SignInButton; exports.SignOutButton = SignOutButton; exports.UserButton = UserButton; exports.useAuth = useAuth; exports.useConfig = useConfig; exports.useIframe = useIframe; exports.useSession = useSession; exports.useToken = useToken; exports.useTokenCookie = useTokenCookie; exports.useUser = useUser; exports.useUserCookie = useUserCookie;
|
|
995
1058
|
//# sourceMappingURL=react.js.map
|