Compare commits

...

2 commits

2 changed files with 8 additions and 2 deletions

View file

@ -49,12 +49,17 @@ class LoginPageSelect(LoginPage):
def showSelection(self):
return getConfigAuthMethod() == 'cookie'
def authMethodCookieString(self):
domain = getattr(config, 'authentication_method_cookie_domain', None)
return 'document.cookie=`loops_auth_method=${this.value}; path=/; expires=Sun, 31 Jan 2027 12:00:00 UTC%s`' % (domain and f'; domain={domain}' or '')
def getConfigAuthMethod():
return getattr(config, 'authentication_method', 'legacy')
def getAuthMethodCookieValue(request):
return request.cookies.get('loops_auth_method') or 'legacy'
default = getattr(config, 'authentication_method_cookie_default', 'legacy')
return request.cookies.get('loops_auth_method') or default
# OIDC authentication

View file

@ -31,7 +31,8 @@
<select name="auth_method"
onchange="document.cookie=`loops_auth_method=${this.value}; path=/; expires=Sun, 31 Jan 2027 12:00:00 UTC`"
tal:define="meth view/authMethod"
tal:attributes="value meth">
tal:attributes="value meth;
onchange view/authMethodCookieString">
<option value="legacy" i18n:translate="authentication-method-legacy"
tal:attributes="selected python:meth=='legacy'">Legacy</option>
<option value="oidc" i18n:translate="authentication-method-oidc"