diff --git a/backend/app/security/jwt_bearer.py b/backend/app/security/jwt_bearer.py index b2d7bd2..c82a297 100644 --- a/backend/app/security/jwt_bearer.py +++ b/backend/app/security/jwt_bearer.py @@ -28,7 +28,7 @@ class JWTBearer(HTTPBearer): if credentials: if not credentials.scheme == "Bearer": raise HTTPException( - status_code=401, detail="authentication_scheme_invalid" + status_code=403, detail="authentication_scheme_invalid" ) try: token = await token_service.verify_access_token( @@ -36,7 +36,7 @@ class JWTBearer(HTTPBearer): ) if not token: raise HTTPException( - status_code=401, detail="token_invalid_or_expired" + status_code=403, detail="token_invalid_or_expired" ) return token except InsufficientPermissionsError: @@ -44,4 +44,4 @@ class JWTBearer(HTTPBearer): except InvalidTokenAudienceError: raise HTTPException(status_code=403, detail="invalid_token_audience") else: - raise HTTPException(status_code=401, detail="authorization_code_invalid") \ No newline at end of file + raise HTTPException(status_code=403, detail="authorization_code_invalid") \ No newline at end of file diff --git a/frontend/src/lib/axios.svelte.ts b/frontend/src/lib/axios.svelte.ts index d086718..31ad377 100644 --- a/frontend/src/lib/axios.svelte.ts +++ b/frontend/src/lib/axios.svelte.ts @@ -2,7 +2,7 @@ import axios from 'axios'; import { dev } from '$app/environment'; import { goto } from '$app/navigation'; import { get } from 'svelte/store'; -import { persistentSettings, clearLoginState } from '$lib/persistent_store'; +import { persistentSettings, clearLoginState } from '$lib/persistent-store'; if (dev) { axios.defaults.baseURL = "http://localhost:8000/api/v1" @@ -10,9 +10,6 @@ if (dev) { axios.defaults.baseURL = "/api/v1" } -// Get access token from local storage -axios.defaults.headers.common['Authorization'] = "Bearer " + get(persistentSettings).accessToken; - function createTokenRefreshInterceptor() { const interceptor = axios.interceptors.response.use( (response) => response, @@ -36,9 +33,8 @@ function createTokenRefreshInterceptor() { refresh_token: get(persistentSettings).refreshToken, }) .then((response) => { - // Save new tokens + // Save new refresh token persistentSettings.update(settings => { - settings.accessToken = response.data.access_token settings.refreshToken = response.data.refresh_token; return settings; }) @@ -74,7 +70,6 @@ export const login = async function(email: string, password: string) { .then((response) => { persistentSettings.update(settings => { settings.loggedIn = true - settings.accessToken = response.data.access_token settings.refreshToken = response.data.refresh_token return settings; }) diff --git a/frontend/src/lib/i18n_store.ts b/frontend/src/lib/i18n-store.ts similarity index 100% rename from frontend/src/lib/i18n_store.ts rename to frontend/src/lib/i18n-store.ts diff --git a/frontend/src/lib/i18n.ts b/frontend/src/lib/i18n.ts index 5a428f0..bac4b7e 100644 --- a/frontend/src/lib/i18n.ts +++ b/frontend/src/lib/i18n.ts @@ -3,7 +3,7 @@ import Backend from 'i18next-chained-backend' import Fetch from 'i18next-fetch-backend' import LocalStorageBackend from 'i18next-localstorage-backend' import I18nextBrowserLanguageDetector from 'i18next-browser-languagedetector' -import { createI18nStore } from './i18n_store' +import { createI18nStore } from './i18n-store' i18next .use(Backend) diff --git a/frontend/src/lib/persistent_store.ts b/frontend/src/lib/persistent-store.ts similarity index 92% rename from frontend/src/lib/persistent_store.ts rename to frontend/src/lib/persistent-store.ts index 6a94816..7e0c04c 100644 --- a/frontend/src/lib/persistent_store.ts +++ b/frontend/src/lib/persistent-store.ts @@ -6,7 +6,6 @@ interface PersistedSettings { friendlyName: string email: string role: string - accessToken: string, refreshToken: string } @@ -16,7 +15,6 @@ const settingsDefault: PersistedSettings = { friendlyName: "", email: "", role: "member", - accessToken: "", refreshToken: "" } @@ -26,7 +24,6 @@ persistentSettings.subscribe((value) => localStorage.persistentSettings = JSON.s export const clearLoginState = function() { persistentSettings.update(settings => { - settings.accessToken = ""; settings.refreshToken = ""; settings.loggedIn = false; settings.friendlyName = ""; diff --git a/frontend/src/routes/(navbar)/+layout.svelte b/frontend/src/routes/(navbar)/+layout.svelte index f603e37..b58d427 100644 --- a/frontend/src/routes/(navbar)/+layout.svelte +++ b/frontend/src/routes/(navbar)/+layout.svelte @@ -1,6 +1,6 @@