From b2d9b698743895654c05296d7146769cef5e151a Mon Sep 17 00:00:00 2001 From: Michael Bai Date: Sat, 28 Mar 2020 21:26:27 +0800 Subject: [PATCH 1/2] =?UTF-8?q?[Update]=20=E4=BF=AE=E6=94=B9readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 76465a36e..052952256 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ JumpServer 采纳分布式架构,支持多机房跨区域部署,支持横向 - + From 5268c0faaeb67df767c00f99a82af8958024e1ca Mon Sep 17 00:00:00 2001 From: Michael Bai Date: Sat, 28 Mar 2020 21:34:17 +0800 Subject: [PATCH 2/2] =?UTF-8?q?[Update]=20OpenID=E7=99=BB=E5=BD=95?= =?UTF-8?q?=E6=88=90=E5=8A=9F=E5=90=8E=EF=BC=8C=E5=A6=82=E6=9E=9C=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E6=B2=A1=E6=9C=89email=E5=AD=97=E6=AE=B5=E5=88=99?= =?UTF-8?q?=E6=9E=84=E9=80=A0=E9=BB=98=E8=AE=A4=E7=9A=84email?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/authentication/backends/openid/models.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/apps/authentication/backends/openid/models.py b/apps/authentication/backends/openid/models.py index 4a43c06fa..ca50ee266 100644 --- a/apps/authentication/backends/openid/models.py +++ b/apps/authentication/backends/openid/models.py @@ -5,6 +5,7 @@ from django.db import transaction from django.contrib.auth import get_user_model from keycloak.realm import KeycloakRealm from keycloak.keycloak_openid import KeycloakOpenID +from users.utils import construct_user_email from .signals import post_create_or_update_openid_user from .decorator import ssl_verification @@ -155,13 +156,17 @@ class Client(object): """ userinfo = self.get_userinfo(token=token_response['access_token']) with transaction.atomic(): + name = userinfo.get('name', '') + username = userinfo.get('preferred_username', ''), + email = userinfo.get('email', '') + email = construct_user_email(username, email) + user, created = get_user_model().objects.update_or_create( - username=userinfo.get('preferred_username', ''), + username=username, defaults={ - 'email': userinfo.get('email', ''), + 'name': name, 'email': email, 'first_name': userinfo.get('given_name', ''), 'last_name': userinfo.get('family_name', ''), - 'name': userinfo.get('name', '') } ) oidt_profile = OpenIDTokenProfile(
身份认证
Authentication
身份认证
Authentication
登录认证 资源统一登录与认证