mirror of https://github.com/jumpserver/jumpserver
fix: 获得 oidc acs 等认证方式失败
parent
72d6ea43fa
commit
8e12eebceb
|
@ -127,7 +127,11 @@ def on_audits_log_create(sender, instance=None, **kwargs):
|
||||||
def get_login_backend(request):
|
def get_login_backend(request):
|
||||||
backend = request.session.get(BACKEND_SESSION_KEY, '')
|
backend = request.session.get(BACKEND_SESSION_KEY, '')
|
||||||
backend = backend.rsplit('.', maxsplit=1)[-1]
|
backend = backend.rsplit('.', maxsplit=1)[-1]
|
||||||
return LOGIN_BACKEND.get(backend, '')
|
if backend in LOGIN_BACKEND:
|
||||||
|
return LOGIN_BACKEND[backend]
|
||||||
|
else:
|
||||||
|
logger.warn(f'LOGIN_BACKEND_NOT_FOUND: {backend}')
|
||||||
|
return ''
|
||||||
|
|
||||||
|
|
||||||
def generate_data(username, request):
|
def generate_data(username, request):
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
from importlib import import_module
|
from importlib import import_module
|
||||||
|
|
||||||
|
from django.contrib.auth import BACKEND_SESSION_KEY
|
||||||
from django.conf import settings
|
from django.conf import settings
|
||||||
from django.contrib.auth import user_logged_in
|
from django.contrib.auth import user_logged_in
|
||||||
from django.core.cache import cache
|
from django.core.cache import cache
|
||||||
|
@ -24,14 +25,17 @@ def on_user_auth_login_success(sender, user, request, **kwargs):
|
||||||
|
|
||||||
@receiver(openid_user_login_success)
|
@receiver(openid_user_login_success)
|
||||||
def on_oidc_user_login_success(sender, request, user, **kwargs):
|
def on_oidc_user_login_success(sender, request, user, **kwargs):
|
||||||
|
request.session[BACKEND_SESSION_KEY] = 'OIDCAuthCodeBackend'
|
||||||
post_auth_success.send(sender, user=user, request=request)
|
post_auth_success.send(sender, user=user, request=request)
|
||||||
|
|
||||||
|
|
||||||
@receiver(openid_user_login_failed)
|
@receiver(openid_user_login_failed)
|
||||||
def on_oidc_user_login_failed(sender, username, request, reason, **kwargs):
|
def on_oidc_user_login_failed(sender, username, request, reason, **kwargs):
|
||||||
|
request.session[BACKEND_SESSION_KEY] = 'OIDCAuthCodeBackend'
|
||||||
post_auth_failed.send(sender, username=username, request=request, reason=reason)
|
post_auth_failed.send(sender, username=username, request=request, reason=reason)
|
||||||
|
|
||||||
|
|
||||||
@receiver(cas_user_authenticated)
|
@receiver(cas_user_authenticated)
|
||||||
def on_cas_user_login_success(sender, request, user, **kwargs):
|
def on_cas_user_login_success(sender, request, user, **kwargs):
|
||||||
|
request.session[BACKEND_SESSION_KEY] = 'CASBackend'
|
||||||
post_auth_success.send(sender, user=user, request=request)
|
post_auth_success.send(sender, user=user, request=request)
|
Loading…
Reference in New Issue