Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
travel-cloud
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
cloud
travel-cloud
Commits
de862fb4
提交
de862fb4
authored
11月 15, 2024
作者:
hzh
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
小程序授权登录恢复
上级
46528f8c
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
31 行增加
和
24 行删除
+31
-24
XcxAuthStrategy.java
...n/java/org/dromara/auth/service/impl/XcxAuthStrategy.java
+31
-24
没有找到文件。
ruoyi-auth/src/main/java/org/dromara/auth/service/impl/XcxAuthStrategy.java
浏览文件 @
de862fb4
package
org
.
dromara
.
auth
.
service
.
impl
;
package
org
.
dromara
.
auth
.
service
.
impl
;
import
cn.dev33.satoken.stp.SaLoginModel
;
import
cn.dev33.satoken.stp.StpUtil
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.dubbo.config.annotation.DubboReference
;
import
org.apache.dubbo.config.annotation.DubboReference
;
...
@@ -9,14 +11,19 @@ import org.dromara.auth.service.IAuthStrategy;
...
@@ -9,14 +11,19 @@ import org.dromara.auth.service.IAuthStrategy;
import
org.dromara.auth.service.SysLoginService
;
import
org.dromara.auth.service.SysLoginService
;
import
org.dromara.common.core.utils.ValidatorUtils
;
import
org.dromara.common.core.utils.ValidatorUtils
;
import
org.dromara.common.json.utils.JsonUtils
;
import
org.dromara.common.json.utils.JsonUtils
;
import
org.dromara.common.satoken.utils.LoginHelper
;
import
org.dromara.common.weixin.dto.WxAuthReq
;
import
org.dromara.common.weixin.dto.WxAuthReq
;
import
org.dromara.common.weixin.dto.WxAuthResp
;
import
org.dromara.common.weixin.dto.WxAuthResp
;
import
org.dromara.common.weixin.utils.WeixinUtils
;
import
org.dromara.common.weixin.utils.WeixinUtils
;
import
org.dromara.server.api.RemoteServerService
;
import
org.dromara.server.api.RemoteServerService
;
import
org.dromara.server.api.domain.RemoteUser
;
import
org.dromara.system.api.RemoteUserService
;
import
org.dromara.system.api.RemoteUserService
;
import
org.dromara.system.api.domain.vo.RemoteClientVo
;
import
org.dromara.system.api.domain.vo.RemoteClientVo
;
import
org.dromara.system.api.model.XcxLoginUser
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.util.Optional
;
/**
/**
* 邮件认证策略
* 邮件认证策略
*
*
...
@@ -50,37 +57,37 @@ public class XcxAuthStrategy implements IAuthStrategy {
...
@@ -50,37 +57,37 @@ public class XcxAuthStrategy implements IAuthStrategy {
// 校验 appid + appsrcret + xcxCode 调用登录凭证校验接口 获取 session_key 与 openid
// 校验 appid + appsrcret + xcxCode 调用登录凭证校验接口 获取 session_key 与 openid
String
openid
=
auth
.
getOpenId
();
String
openid
=
auth
.
getOpenId
();
//
XcxLoginUser loginUser = remoteUserService.getUserInfoByOpenid(openid, loginBody.getTenantId());
XcxLoginUser
loginUser
=
remoteUserService
.
getUserInfoByOpenid
(
openid
,
loginBody
.
getTenantId
());
// 用户不存在 返回 openid
// 用户不存在 返回 openid
if
(
loginBody
==
null
)
{
LoginVo
loginVo
=
new
LoginVo
();
LoginVo
loginVo
=
new
LoginVo
();
loginVo
.
setOpenid
(
openid
);
loginVo
.
setOpenid
(
openid
);
loginVo
.
setScope
(
auth
.
getSessionKey
());
loginVo
.
setScope
(
auth
.
getSessionKey
());
return
loginVo
;
return
loginVo
;
}
loginUser
.
setClientKey
(
client
.
getClientKey
());
loginUser
.
setDeviceType
(
client
.
getDeviceType
());
SaLoginModel
model
=
new
SaLoginModel
();
model
.
setDevice
(
client
.
getDeviceType
());
// 自定义分配 不同用户体系 不同 token 授权时间 不设置默认走全局 yml 配置
// 例如: 后台用户30分钟过期 app用户1天过期
model
.
setTimeout
(
client
.
getTimeout
());
model
.
setActiveTimeout
(
client
.
getActiveTimeout
());
// loginUser.setClientKey(client.getClientKey());
RemoteUser
ru
=
remoteServerService
.
getUserByPhone
(
loginUser
.
getTenantId
(),
loginUser
.
getPhone
());
// loginUser.setDeviceType(client.getDeviceType());
model
.
setExtra
(
LoginHelper
.
CLIENT_KEY
,
client
.
getClientId
());
//
model
.
setExtra
(
LoginHelper
.
YS_USER_ID
,
Optional
.
ofNullable
(
ru
).
map
(
RemoteUser:
:
getUserNo
).
orElse
(
null
));
// SaLoginModel model = new SaLoginModel();
// 生成token
// model.setDevice(client.getDeviceType());
LoginHelper
.
login
(
loginUser
,
model
);
// // 自定义分配 不同用户体系 不同 token 授权时间 不设置默认走全局 yml 配置
// // 例如: 后台用户30分钟过期 app用户1天过期
LoginVo
loginVo
=
new
LoginVo
();
// model.setTimeout(client.getTimeout());
loginVo
.
setAccessToken
(
StpUtil
.
getTokenValue
());
// model.setActiveTimeout(client.getActiveTimeout());
loginVo
.
setExpireIn
(
StpUtil
.
getTokenTimeout
());
//
loginVo
.
setClientId
(
client
.
getClientId
());
// RemoteUser ru = remoteServerService.getUserByPhone(loginUser.getTenantId(), loginUser.getPhone());
loginVo
.
setOpenid
(
openid
);
// model.setExtra(LoginHelper.CLIENT_KEY, client.getClientId());
return
loginVo
;
// model.setExtra(LoginHelper.YS_USER_ID, Optional.ofNullable(ru).map(RemoteUser::getUserNo).orElse(null));
// // 生成token
// LoginHelper.login(loginUser, model);
//
// LoginVo loginVo = new LoginVo();
// loginVo.setAccessToken(StpUtil.getTokenValue());
// loginVo.setExpireIn(StpUtil.getTokenTimeout());
// loginVo.setClientId(client.getClientId());
// loginVo.setOpenid(openid);
// return loginVo;
}
}
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论