diff --git a/apps/authentication/backends/oauth2/views.py b/apps/authentication/backends/oauth2/views.py index 056f16b31..ad95e29cd 100644 --- a/apps/authentication/backends/oauth2/views.py +++ b/apps/authentication/backends/oauth2/views.py @@ -86,9 +86,9 @@ class OAuth2EndSessionView(View): logger.debug(log_prompt.format('Log out the current user: {}'.format(request.user))) auth.logout(request) - if settings.AUTH_OAUTH2_LOGOUT_COMPLETELY: + next_url = settings.AUTH_OAUTH2_PROVIDER_END_SESSION_ENDPOINT + if settings.AUTH_OAUTH2_LOGOUT_COMPLETELY and next_url: logger.debug(log_prompt.format('Log out OAUTH2 platform user session synchronously')) - next_url = settings.AUTH_OAUTH2_PROVIDER_END_SESSION_ENDPOINT return HttpResponseRedirect(next_url) logger.debug(log_prompt.format('Redirect')) diff --git a/apps/settings/serializers/auth/oauth2.py b/apps/settings/serializers/auth/oauth2.py index a689243ef..46e279969 100644 --- a/apps/settings/serializers/auth/oauth2.py +++ b/apps/settings/serializers/auth/oauth2.py @@ -49,7 +49,7 @@ class OAuth2SettingSerializer(serializers.Serializer): required=True, max_length=1024, label=_('Provider userinfo endpoint') ) AUTH_OAUTH2_PROVIDER_END_SESSION_ENDPOINT = serializers.CharField( - required=False, max_length=1024, label=_('Provider end session endpoint') + required=False, allow_blank=True, max_length=1024, label=_('Provider end session endpoint') ) AUTH_OAUTH2_LOGOUT_COMPLETELY = serializers.BooleanField(required=False, label=_('Logout completely')) AUTH_OAUTH2_USER_ATTR_MAP = serializers.DictField(