bug修改
This commit is contained in:
1 parent
1024045a92
commit
a9237a1b38
2 files changed
+31
-1
No files matched your search
@@ -0,0 +1,22 @@
|
||||
-- ----------------------------
|
||||
-- 航空账号专用 OAuth2 客户端
|
||||
-- 用途:airline-login 签发的 Token 归属 airline 客户端,access/refresh token 有效期极长,
|
||||
-- App 端登录一次即可长期使用,无需续期;每次打开 App 仅通过 /airline-check
|
||||
-- 校验账号状态/有效期/设备绑定(见 MemberAuthServiceImpl#createTokenAfterAirlineLoginSuccess)。
|
||||
-- 注意:不影响 default 客户端(交友 App 会员仍为 30 分钟 accessToken + 30 天 refreshToken)。
|
||||
-- 部署:执行本脚本后再部署新 yudao-server.jar,否则 airline-login 会报"客户端不存在"。
|
||||
-- ----------------------------
|
||||
|
||||
INSERT INTO `system_oauth2_client`
|
||||
(`id`, `client_id`, `secret`, `name`, `logo`, `description`, `status`,
|
||||
`access_token_validity_seconds`, `refresh_token_validity_seconds`,
|
||||
`redirect_uris`, `authorized_grant_types`, `scopes`, `auto_approve_scopes`,
|
||||
`authorities`, `resource_ids`, `additional_information`,
|
||||
`creator`, `create_time`, `updater`, `update_time`, `deleted`)
|
||||
SELECT 43, 'airline', 'airline123', '航空App专用客户端', '', '南航/东航/海航 App 专用,Token 长期有效', 0,
|
||||
2147483647, 2147483647,
|
||||
'[]', '["password","refresh_token"]', '[]', '[]',
|
||||
'[]', '[]', '{}',
|
||||
'1', NOW(), '1', NOW(), b'0'
|
||||
FROM DUAL
|
||||
WHERE NOT EXISTS (SELECT 1 FROM `system_oauth2_client` WHERE `client_id` = 'airline' AND `deleted` = b'0');
|
||||
+9
-1
@@ -59,6 +59,12 @@ import static cn.iocoder.yudao.module.member.enums.MemberErrorCode.*;
|
||||
@Slf4j
|
||||
public class MemberAuthServiceImpl implements MemberAuthService {
|
||||
|
||||
/**
|
||||
* 航空账号专用 OAuth2 客户端编号(system_oauth2_client 表需存在该记录,
|
||||
* access/refresh token 有效期设置极长,App 登录一次即可长期使用)
|
||||
*/
|
||||
private static final String CLIENT_ID_AIRLINE = "airline";
|
||||
|
||||
@Resource
|
||||
private MemberUserService userService;
|
||||
@Resource
|
||||
@@ -438,9 +444,11 @@ public class MemberAuthServiceImpl implements MemberAuthService {
|
||||
reqDTO.setResult(LoginResultEnum.SUCCESS.getResult());
|
||||
loginLogApi.createLoginLog(reqDTO);
|
||||
// 创建 Token 令牌(userId 使用航空账号自身编号)
|
||||
// 使用独立的 airline 客户端:access/refresh token 有效期极长(见 system_oauth2_client 表),
|
||||
// App 端登录一次即可,无需续期;每次打开 App 仅通过 airline-check 校验账号状态/有效期/设备绑定
|
||||
OAuth2AccessTokenRespDTO accessTokenRespDTO = oauth2TokenApi.createAccessToken(new OAuth2AccessTokenCreateReqDTO()
|
||||
.setUserId(account.getId()).setUserType(getUserType().getValue())
|
||||
.setClientId(OAuth2ClientConstants.CLIENT_ID_DEFAULT));
|
||||
.setClientId(CLIENT_ID_AIRLINE));
|
||||
return AuthConvert.INSTANCE.convert(accessTokenRespDTO, null);
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user