mirror of
https://github.com/immich-app/immich.git
synced 2025-01-06 03:46:47 +01:00
refactor(web): use cookies interface (#1777)
This commit is contained in:
parent
857bbe3c3b
commit
575154fdea
4 changed files with 12 additions and 62 deletions
25
web/package-lock.json
generated
25
web/package-lock.json
generated
|
@ -9,9 +9,7 @@
|
||||||
"version": "1.0.0",
|
"version": "1.0.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^0.27.2",
|
"axios": "^0.27.2",
|
||||||
"cookie": "^0.4.2",
|
|
||||||
"copy-image-clipboard": "^2.1.2",
|
"copy-image-clipboard": "^2.1.2",
|
||||||
"exifr": "^7.1.3",
|
|
||||||
"handlebars": "^4.7.7",
|
"handlebars": "^4.7.7",
|
||||||
"leaflet": "^1.8.0",
|
"leaflet": "^1.8.0",
|
||||||
"lodash-es": "^4.17.21",
|
"lodash-es": "^4.17.21",
|
||||||
|
@ -4766,14 +4764,6 @@
|
||||||
"integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
|
"integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/cookie": {
|
|
||||||
"version": "0.4.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
|
|
||||||
"integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 0.6"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/copy-image-clipboard": {
|
"node_modules/copy-image-clipboard": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/copy-image-clipboard/-/copy-image-clipboard-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/copy-image-clipboard/-/copy-image-clipboard-2.1.2.tgz",
|
||||||
|
@ -5762,11 +5752,6 @@
|
||||||
"url": "https://github.com/sindresorhus/execa?sponsor=1"
|
"url": "https://github.com/sindresorhus/execa?sponsor=1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/exifr": {
|
|
||||||
"version": "7.1.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/exifr/-/exifr-7.1.3.tgz",
|
|
||||||
"integrity": "sha512-g/aje2noHivrRSLbAUtBPWFbxKdKhgj/xr1vATDdUXPOFYJlQ62Ft0oy+72V6XLIpDJfHs6gXLbBLAolqOXYRw=="
|
|
||||||
},
|
|
||||||
"node_modules/exit": {
|
"node_modules/exit": {
|
||||||
"version": "0.1.2",
|
"version": "0.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
|
||||||
|
@ -14783,11 +14768,6 @@
|
||||||
"integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
|
"integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"cookie": {
|
|
||||||
"version": "0.4.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
|
|
||||||
"integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA=="
|
|
||||||
},
|
|
||||||
"copy-image-clipboard": {
|
"copy-image-clipboard": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/copy-image-clipboard/-/copy-image-clipboard-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/copy-image-clipboard/-/copy-image-clipboard-2.1.2.tgz",
|
||||||
|
@ -15514,11 +15494,6 @@
|
||||||
"strip-final-newline": "^2.0.0"
|
"strip-final-newline": "^2.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"exifr": {
|
|
||||||
"version": "7.1.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/exifr/-/exifr-7.1.3.tgz",
|
|
||||||
"integrity": "sha512-g/aje2noHivrRSLbAUtBPWFbxKdKhgj/xr1vATDdUXPOFYJlQ62Ft0oy+72V6XLIpDJfHs6gXLbBLAolqOXYRw=="
|
|
||||||
},
|
|
||||||
"exit": {
|
"exit": {
|
||||||
"version": "0.1.2",
|
"version": "0.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
|
||||||
|
|
|
@ -62,7 +62,6 @@
|
||||||
"type": "module",
|
"type": "module",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"axios": "^0.27.2",
|
"axios": "^0.27.2",
|
||||||
"cookie": "^0.4.2",
|
|
||||||
"copy-image-clipboard": "^2.1.2",
|
"copy-image-clipboard": "^2.1.2",
|
||||||
"handlebars": "^4.7.7",
|
"handlebars": "^4.7.7",
|
||||||
"leaflet": "^1.8.0",
|
"leaflet": "^1.8.0",
|
||||||
|
|
|
@ -1,29 +1,19 @@
|
||||||
import { serverApi } from '@api';
|
import { serverApi } from '@api';
|
||||||
import * as cookieParser from 'cookie';
|
|
||||||
|
|
||||||
import type { LayoutServerLoad } from './$types';
|
import type { LayoutServerLoad } from './$types';
|
||||||
|
|
||||||
export const load: LayoutServerLoad = async ({ request }) => {
|
export const load = (async ({ cookies }) => {
|
||||||
try {
|
try {
|
||||||
const cookies = cookieParser.parse(request.headers.get('cookie') || '');
|
const accessToken = cookies.get('immich_access_token');
|
||||||
const accessToken = cookies['immich_access_token'];
|
|
||||||
|
|
||||||
if (!accessToken) {
|
if (!accessToken) {
|
||||||
return {
|
return { user: undefined };
|
||||||
user: undefined
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
|
|
||||||
serverApi.setAccessToken(accessToken);
|
serverApi.setAccessToken(accessToken);
|
||||||
const { data: userInfo } = await serverApi.userApi.getMyUserInfo();
|
const { data: user } = await serverApi.userApi.getMyUserInfo();
|
||||||
|
|
||||||
return {
|
return { user };
|
||||||
user: userInfo
|
|
||||||
};
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.error('[ERROR] layout.server.ts [LayoutServerLoad]: ');
|
console.error('[ERROR] layout.server.ts [LayoutServerLoad]: ');
|
||||||
return {
|
return { user: undefined };
|
||||||
user: undefined
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
};
|
}) satisfies LayoutServerLoad;
|
||||||
|
|
|
@ -2,26 +2,12 @@ import { json } from '@sveltejs/kit';
|
||||||
import { api, serverApi } from '@api';
|
import { api, serverApi } from '@api';
|
||||||
import type { RequestHandler } from '@sveltejs/kit';
|
import type { RequestHandler } from '@sveltejs/kit';
|
||||||
|
|
||||||
export const POST: RequestHandler = async () => {
|
export const POST = (async ({ cookies }) => {
|
||||||
api.removeAccessToken();
|
api.removeAccessToken();
|
||||||
serverApi.removeAccessToken();
|
serverApi.removeAccessToken();
|
||||||
|
|
||||||
const headers = new Headers();
|
cookies.delete('immich_auth_type', { path: '/' });
|
||||||
|
cookies.delete('immich_access_token', { path: '/' });
|
||||||
|
|
||||||
headers.append(
|
return json({ ok: true });
|
||||||
'set-cookie',
|
}) satisfies RequestHandler;
|
||||||
'immich_auth_type=deleted; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT;'
|
|
||||||
);
|
|
||||||
headers.append(
|
|
||||||
'set-cookie',
|
|
||||||
'immich_access_token=delete; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT'
|
|
||||||
);
|
|
||||||
return json(
|
|
||||||
{
|
|
||||||
ok: true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
headers
|
|
||||||
}
|
|
||||||
);
|
|
||||||
};
|
|
||||||
|
|
Loading…
Reference in a new issue