enh: remove token cookie on signout

This commit is contained in:
Timothy J. Baek 2024-10-24 13:35:29 -07:00
parent 6b620d93a9
commit e9e49babf8
3 changed files with 34 additions and 1 deletions

View File

@ -323,6 +323,12 @@ async def signup(request: Request, response: Response, form_data: SignupForm):
raise HTTPException(500, detail=ERROR_MESSAGES.DEFAULT(err))
@router.get("/signout")
async def signout(response: Response):
response.delete_cookie("token")
return {"status": True}
############################
# AddUser
############################

View File

@ -180,6 +180,31 @@ export const userSignUp = async (
return res;
};
export const userSignOut = async () => {
let error = null;
const res = await fetch(`${WEBUI_API_BASE_URL}/auths/signout`, {
method: 'GET',
headers: {
'Content-Type': 'application/json'
},
credentials: 'include'
})
.then(async (res) => {
if (!res.ok) throw await res.json();
return res;
})
.catch((err) => {
console.log(err);
error = err.detail;
return null;
});
if (error) {
throw error;
}
};
export const addUser = async (
token: string,
name: string,

View File

@ -8,6 +8,7 @@
import { showSettings, activeUserCount, USAGE_POOL, mobile, showSidebar } from '$lib/stores';
import { fade, slide } from 'svelte/transition';
import Tooltip from '$lib/components/common/Tooltip.svelte';
import { userSignOut } from '$lib/apis/auths';
const i18n = getContext('i18n');
@ -154,7 +155,8 @@
<button
class="flex rounded-md py-2 px-3 w-full hover:bg-gray-50 dark:hover:bg-gray-800 transition"
on:click={() => {
on:click={async () => {
await userSignOut();
localStorage.removeItem('token');
location.href = '/auth';
show = false;