Coverage for src/meshadmin/server/networks/views/auth.py: 56%
16 statements
« prev ^ index » next coverage.py v7.6.12, created at 2025-04-10 16:08 +0200
« prev ^ index » next coverage.py v7.6.12, created at 2025-04-10 16:08 +0200
1from allauth.socialaccount.models import SocialAccount
2from django.conf import settings
3from django.contrib.auth import logout
4from django.contrib.auth.mixins import LoginRequiredMixin
5from django.http import HttpResponseRedirect
6from django.shortcuts import reverse
7from django.views import View
10class LogoutView(LoginRequiredMixin, View):
11 def get(self, request):
12 try:
13 SocialAccount.objects.get(user=request.user)
14 logout(request)
15 return HttpResponseRedirect(
16 f"{settings.KEYCLOAK_BASE_URL}/realms/{settings.KEYCLOAK_REALM}/protocol/openid-connect/logout?post_logout_redirect_uri={settings.MESH_SERVER_URL}&client_id={settings.KEYCLOAK_REALM}"
17 )
18 except SocialAccount.DoesNotExist:
19 logout(request)
20 return HttpResponseRedirect(reverse("networks:network-list"))