@functionalcms/svelte-components 5.2.0 → 5.2.2
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/server-side/auth/authentication.js +0 -12
- package/dist/server-side/functionalSequence.js +3 -1
- package/dist/server-side/getServices.js +1 -3
- package/dist/server-side/handlers/accessTokenHandler.d.ts +2 -0
- package/dist/server-side/handlers/accessTokenHandler.js +12 -0
- package/dist/server-side/handlers/userHandler.d.ts +2 -0
- package/dist/server-side/handlers/userHandler.js +23 -0
- package/package.json +1 -1
|
@@ -17,14 +17,6 @@ export const authenticationHandle = (secret, provider) => {
|
|
|
17
17
|
}
|
|
18
18
|
else if (event.url.pathname === '/auth/logout') {
|
|
19
19
|
handleLogout(event);
|
|
20
|
-
// } else {
|
|
21
|
-
// const hasUser = event.locals.user;
|
|
22
|
-
// const accessToken = await loadCookie(event.cookies, secret, accessTokenCookie);
|
|
23
|
-
// const idToken = await loadCookie(event.cookies, secret, idTokenCookie);
|
|
24
|
-
// console.log(`accessToken: ${accessToken}, idToken: ${idToken}, hasUser: ${hasUser}`);
|
|
25
|
-
// if (!hasUser && accessToken != "") {
|
|
26
|
-
// await loginUserWithToken(event, accessToken, idToken, provider);
|
|
27
|
-
// }
|
|
28
20
|
}
|
|
29
21
|
}
|
|
30
22
|
catch (error) {
|
|
@@ -66,7 +58,3 @@ async function handleCallback(event, secret, provider) {
|
|
|
66
58
|
await deleteCookie(event.cookies, headers, stateCookieName);
|
|
67
59
|
return headers;
|
|
68
60
|
}
|
|
69
|
-
// async function loginUserWithToken(event: any, accessToken: string, idToken: string, provider: AuthenticationProvider) {
|
|
70
|
-
// const user = await provider.retrieveUser(accessToken);
|
|
71
|
-
// event.locals.user = user;
|
|
72
|
-
// }
|
|
@@ -3,6 +3,8 @@ import errorHandler from "./auth/errorHandle";
|
|
|
3
3
|
import { paraglideHandler } from "./handlers/paraglideHandler";
|
|
4
4
|
import sessionHandler from "./handlers/sessionHandler";
|
|
5
5
|
import authorizationHandle from "./auth/authorizationHandle";
|
|
6
|
+
import { userHandler } from "./handlers/userHandler";
|
|
7
|
+
import { accessTokenHandler } from "./handlers/accessTokenHandler";
|
|
6
8
|
export const hookSequence = (secret, paraglideMiddleware, getTextDirection, customHooks) => {
|
|
7
|
-
return sequence(sessionHandler(secret), errorHandler, paraglideHandler(paraglideMiddleware, getTextDirection), authorizationHandle(), ...customHooks);
|
|
9
|
+
return sequence(sessionHandler(secret), userHandler(secret), accessTokenHandler(secret), errorHandler, paraglideHandler(paraglideMiddleware, getTextDirection), authorizationHandle(), ...customHooks);
|
|
8
10
|
};
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import { CommunicationService, DataService, TemplateService, WebsitesService, AuthService, FilesService, } from "@functionalcms/services";
|
|
2
|
-
const getAccessToken = (locals) =>
|
|
3
|
-
return locals.token.access_token;
|
|
4
|
-
};
|
|
2
|
+
const getAccessToken = (locals) => locals.token;
|
|
5
3
|
export const getDataService = (locals, endpoint) => {
|
|
6
4
|
const accessToken = getAccessToken(locals);
|
|
7
5
|
const service = new DataService(accessToken, endpoint);
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import {} from '@sveltejs/kit';
|
|
2
|
+
import { loadCookie } from '../cookies';
|
|
3
|
+
const accessTokenCookie = "functionalcms_access_token";
|
|
4
|
+
export const accessTokenHandler = (secret) => {
|
|
5
|
+
return async ({ event, resolve }) => {
|
|
6
|
+
let token = await loadCookie(event.cookies, secret, accessTokenCookie);
|
|
7
|
+
if (token) {
|
|
8
|
+
event.locals.token = token;
|
|
9
|
+
}
|
|
10
|
+
return resolve(event);
|
|
11
|
+
};
|
|
12
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {} from '@sveltejs/kit';
|
|
2
|
+
import { loadCookie } from '../cookies';
|
|
3
|
+
const accessTokenCookie = "functionalcms_access_token";
|
|
4
|
+
const retrieveUser = async (idToken) => {
|
|
5
|
+
const parts = idToken.split('.');
|
|
6
|
+
// Base64url to string conversion
|
|
7
|
+
const base64 = parts[1].replace(/-/g, '+').replace(/_/g, '/');
|
|
8
|
+
// Use TextDecoder (available in Node.js 11+)
|
|
9
|
+
const binString = globalThis.atob(base64);
|
|
10
|
+
const bytes = Uint8Array.from(binString, (m) => m.codePointAt(0));
|
|
11
|
+
const payload = JSON.parse(new TextDecoder().decode(bytes));
|
|
12
|
+
return payload;
|
|
13
|
+
};
|
|
14
|
+
export const userHandler = (secret) => {
|
|
15
|
+
return async ({ event, resolve }) => {
|
|
16
|
+
let idToken = await loadCookie(event.cookies, secret, accessTokenCookie);
|
|
17
|
+
if (idToken) {
|
|
18
|
+
let user = await retrieveUser(idToken);
|
|
19
|
+
event.locals.user = user;
|
|
20
|
+
}
|
|
21
|
+
return resolve(event);
|
|
22
|
+
};
|
|
23
|
+
};
|