Use auth cookie set by backend instead of jwt (fixes #2193)

Requires https://github.com/LemmyNet/lemmy-js-client/pull/208
This commit is contained in:
Felix Ableitner 2023-10-31 12:42:10 +01:00
parent acfcd86b9b
commit 442766c1d8
5 changed files with 5 additions and 30 deletions

View file

@ -26,7 +26,7 @@ export const updateUnreadCountsInterval = 30000;
export const fetchLimit = 20; export const fetchLimit = 20;
export const relTags = "noopener nofollow"; export const relTags = "noopener nofollow";
export const emDash = "\u2014"; export const emDash = "\u2014";
export const authCookieName = "jwt"; export const authCookieName = "auth";
// No. of max displayed communities per // No. of max displayed communities per
// page on route "/communities" // page on route "/communities"

View file

@ -1,5 +1,5 @@
import { isAuthPath } from "@utils/app"; import { isAuthPath } from "@utils/app";
import { clearAuthCookie, isBrowser, setAuthCookie } from "@utils/browser"; import { isBrowser } from "@utils/browser";
import * as cookie from "cookie"; import * as cookie from "cookie";
import jwt_decode from "jwt-decode"; import jwt_decode from "jwt-decode";
import { LoginResponse, MyUserInfo } from "lemmy-js-client"; import { LoginResponse, MyUserInfo } from "lemmy-js-client";
@ -40,7 +40,6 @@ export class UserService {
if (isBrowser() && res.jwt) { if (isBrowser() && res.jwt) {
showToast && toast(I18NextService.i18n.t("logged_in")); showToast && toast(I18NextService.i18n.t("logged_in"));
setAuthCookie(res.jwt);
this.#setJwtInfo(); this.#setJwtInfo();
} }
} }
@ -50,7 +49,9 @@ export class UserService {
this.myUserInfo = undefined; this.myUserInfo = undefined;
if (isBrowser()) { if (isBrowser()) {
clearAuthCookie(); // TODO: call logout here
// https://github.com/LemmyNet/lemmy-js-client/pull/208
//HttpService.client.logout()
} }
if (isAuthPath(location.pathname)) { if (isAuthPath(location.pathname)) {

View file

@ -1,10 +0,0 @@
import * as cookie from "cookie";
import { authCookieName } from "../../config";
export default function clearAuthCookie() {
document.cookie = cookie.serialize(authCookieName, "", {
maxAge: -1,
sameSite: true,
path: "/",
});
}

View file

@ -1,5 +1,4 @@
import canShare from "./can-share"; import canShare from "./can-share";
import clearAuthCookie from "./clear-auth-cookie";
import dataBsTheme from "./data-bs-theme"; import dataBsTheme from "./data-bs-theme";
import isBrowser from "./is-browser"; import isBrowser from "./is-browser";
import isDark from "./is-dark"; import isDark from "./is-dark";
@ -7,12 +6,10 @@ import loadCss from "./load-css";
import platform from "./platform"; import platform from "./platform";
import restoreScrollPosition from "./restore-scroll-position"; import restoreScrollPosition from "./restore-scroll-position";
import saveScrollPosition from "./save-scroll-position"; import saveScrollPosition from "./save-scroll-position";
import setAuthCookie from "./set-auth-cookie";
import share from "./share"; import share from "./share";
export { export {
canShare, canShare,
clearAuthCookie,
dataBsTheme, dataBsTheme,
isBrowser, isBrowser,
isDark, isDark,
@ -20,6 +17,5 @@ export {
platform, platform,
restoreScrollPosition, restoreScrollPosition,
saveScrollPosition, saveScrollPosition,
setAuthCookie,
share, share,
}; };

View file

@ -1,12 +0,0 @@
import { isHttps } from "@utils/env";
import * as cookie from "cookie";
import { authCookieName } from "../../config";
export default function setAuthCookie(jwt: string) {
document.cookie = cookie.serialize(authCookieName, jwt, {
maxAge: 365 * 24 * 60 * 60 * 1000,
secure: isHttps(),
sameSite: true,
path: "/",
});
}