Merge pull request #3239 from dataease/pr@dev@fix_dingtalk_bind

fix(登录): 钉钉扫码绑定DE用户后使用扫码登录失败
This commit is contained in:
xuwei-fit2cloud 2022-09-28 16:49:54 +08:00 committed by GitHub
commit c669132ee4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -95,13 +95,12 @@ public class XDingtalkServer {
}
DingUserEntity dingUserEntity = dingtalkXpackService.userInfo(code);
String username = dingUserEntity.getUserid();
String unionid = dingUserEntity.getUnionid();
SysUserEntity sysUserEntity = authUserService.getUserByDingtalkId(unionid);
SysUserEntity sysUserEntity = authUserService.getUserByDingtalkId(username);
if (null == sysUserEntity) {
String email = StringUtils.isNotBlank(dingUserEntity.getOrg_email()) ? dingUserEntity.getOrg_email() : StringUtils.isNotBlank(dingUserEntity.getEmail()) ? dingUserEntity.getEmail() : (username + "@dingtalk.work");
sysUserService.validateExistUser(username, dingUserEntity.getName(), email);
sysUserService.saveDingtalkCUser(dingUserEntity, email);
sysUserEntity = authUserService.getUserByDingtalkId(unionid);
sysUserEntity = authUserService.getUserByDingtalkId(username);
}
TokenInfo tokenInfo = TokenInfo.builder().userId(sysUserEntity.getUserId()).username(sysUserEntity.getUsername()).build();
String realPwd = sysUserEntity.getPassword();