Changeset View
Changeset View
Standalone View
Standalone View
swh/web/auth/views.py
Show First 20 Lines • Show All 98 Lines • ▼ Show 20 Lines | try: | ||||
logout(request) | logout(request) | ||||
if hasattr(user, 'refresh_token'): | if hasattr(user, 'refresh_token'): | ||||
oidc_client = get_oidc_client() | oidc_client = get_oidc_client() | ||||
user = cast(OIDCUser, user) | user = cast(OIDCUser, user) | ||||
refresh_token = cast(str, user.refresh_token) | refresh_token = cast(str, user.refresh_token) | ||||
# end OpenID Connect session | # end OpenID Connect session | ||||
oidc_client.logout(refresh_token) | oidc_client.logout(refresh_token) | ||||
# remove user data from cache | # remove user data from cache | ||||
cache.delete(f'user_{user.id}') | cache.delete(f'oidc_user_{user.id}') | ||||
logout_url = reverse('logout', query_params={'remote_user': 1}) | logout_url = reverse('logout', query_params={'remote_user': 1}) | ||||
return HttpResponseRedirect(request.build_absolute_uri(logout_url)) | return HttpResponseRedirect(request.build_absolute_uri(logout_url)) | ||||
except Exception as e: | except Exception as e: | ||||
return handle_view_exception(request, e) | return handle_view_exception(request, e) | ||||
urlpatterns = [ | urlpatterns = [ | ||||
url(r'^oidc/login/$', oidc_login, name='oidc-login'), | url(r'^oidc/login/$', oidc_login, name='oidc-login'), | ||||
url(r'^oidc/login-complete/$', oidc_login_complete, | url(r'^oidc/login-complete/$', oidc_login_complete, | ||||
name='oidc-login-complete'), | name='oidc-login-complete'), | ||||
url(r'^oidc/logout/$', oidc_logout, name='oidc-logout'), | url(r'^oidc/logout/$', oidc_logout, name='oidc-logout'), | ||||
] | ] |