diff --git a/application/backend/app/api/auth.py b/application/backend/app/api/auth.py index c82fe6bb..70e0e1e8 100644 --- a/application/backend/app/api/auth.py +++ b/application/backend/app/api/auth.py @@ -5,7 +5,7 @@ from app.repositories.user_repository import UserRepository from app.models.user_schema import UserSchema from app.auth import auth -from flask_jwt_extended import create_access_token, create_refresh_token, jwt_required, get_jwt_identity, set_access_cookies +from flask_jwt_extended import create_access_token, create_refresh_token, jwt_required, get_jwt_identity, set_access_cookies, unset_jwt_cookies from app.services.slack_organization_service import SlackOrganizationService from app.services.injector import injector @@ -123,3 +123,11 @@ def get(self): set_access_cookies(response, access_token) return response return abort(401, message = "User email not available or not verified by Slack.") + + +@bp.route("/logout") +class Auth(views.MethodView): + def delete(self): + response = jsonify(msg="Successfully logged out") + unset_jwt_cookies(response) + return response diff --git a/application/next-frontend/pages/admin/index.tsx b/application/next-frontend/pages/admin/index.tsx index c3e2ce14..41df3301 100644 --- a/application/next-frontend/pages/admin/index.tsx +++ b/application/next-frontend/pages/admin/index.tsx @@ -2,6 +2,7 @@ import { GetServerSideProps } from 'next' import jwtDecode from 'jwt-decode' import type { JwtToken, User } from '@/Admin/types/User' import { Home } from 'Admin/scenarios/Home' +import { Navbar } from '@/Admin/scenarios/Navbar' export const getServerSideProps: GetServerSideProps = async ({ req }) => { const jwt = req.cookies['access_token_cookie'] @@ -18,7 +19,7 @@ export const getServerSideProps: GetServerSideProps = async ({ req }) => { const AdminHome = ({ user }: { user: User }) => { return (