From 8d3fe5cb4457e976a8afc4676bf84be3a043c920 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=9F=B3=E6=B8=85=E9=A3=8E?= Date: Fri, 10 May 2024 10:26:28 +0000 Subject: [PATCH 1/2] =?UTF-8?q?fix:=20idp=E8=B4=A6=E5=8F=B7=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E7=BB=91=E5=AE=9A=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨柳清风 --- .../impl/IdentityProviderAuthenticationServiceImpl.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/eiam-portal/src/main/java/cn/topiam/employee/portal/service/impl/IdentityProviderAuthenticationServiceImpl.java b/eiam-portal/src/main/java/cn/topiam/employee/portal/service/impl/IdentityProviderAuthenticationServiceImpl.java index 30d55411..f77c83fb 100644 --- a/eiam-portal/src/main/java/cn/topiam/employee/portal/service/impl/IdentityProviderAuthenticationServiceImpl.java +++ b/eiam-portal/src/main/java/cn/topiam/employee/portal/service/impl/IdentityProviderAuthenticationServiceImpl.java @@ -89,7 +89,13 @@ public class IdentityProviderAuthenticationServiceImpl implements @Transactional(rollbackFor = Exception.class) public Boolean bindUserIdp(String accountId, IdentityProviderUserDetails identityProviderUserDetails) { - // 查询是否已绑定其他账号 + // 查询用户账号是否已经绑定 + Optional userIdpBindEntity = userIdpRepository.findByIdpIdAndUserId(identityProviderUserDetails.getProviderId(), accountId); + if (userIdpBindEntity.isPresent()) { + throw new UserBindIdentityProviderException("该账户已被其他三方账号绑定, 解绑后可重新绑定", + HttpStatus.INTERNAL_SERVER_ERROR); + } + // 查询idp账号是否已绑定其他账号 Optional thirdPartyUserEntity = this.thirdPartyUserRepository .findByOpenIdAndIdpId(identityProviderUserDetails.getOpenId(), identityProviderUserDetails.getProviderId()); From 4cf8b5f5620dd9a937b447ffcf96bd0104deb196 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=9F=B3=E6=B8=85=E9=A3=8E?= Date: Fri, 10 May 2024 10:27:31 +0000 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20idp=E8=B4=A6=E5=8F=B7=E9=87=8D?= =?UTF-8?q?=E5=A4=8D=E7=BB=91=E5=AE=9A=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 杨柳清风 --- .../service/impl/IdentityProviderAuthenticationServiceImpl.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eiam-portal/src/main/java/cn/topiam/employee/portal/service/impl/IdentityProviderAuthenticationServiceImpl.java b/eiam-portal/src/main/java/cn/topiam/employee/portal/service/impl/IdentityProviderAuthenticationServiceImpl.java index f77c83fb..032400a9 100644 --- a/eiam-portal/src/main/java/cn/topiam/employee/portal/service/impl/IdentityProviderAuthenticationServiceImpl.java +++ b/eiam-portal/src/main/java/cn/topiam/employee/portal/service/impl/IdentityProviderAuthenticationServiceImpl.java @@ -92,7 +92,7 @@ public class IdentityProviderAuthenticationServiceImpl implements // 查询用户账号是否已经绑定 Optional userIdpBindEntity = userIdpRepository.findByIdpIdAndUserId(identityProviderUserDetails.getProviderId(), accountId); if (userIdpBindEntity.isPresent()) { - throw new UserBindIdentityProviderException("该账户已被其他三方账号绑定, 解绑后可重新绑定", + throw new UserBindIdentityProviderException("该账户已被其他三方账号绑定,解绑后可重新绑定", HttpStatus.INTERNAL_SERVER_ERROR); } // 查询idp账号是否已绑定其他账号