✨ [2025-01-09] 添加新特性:添加企微登录智囊
All checks were successful
Publish to Confluence / confluence (push) Successful in 41s
All checks were successful
Publish to Confluence / confluence (push) Successful in 41s
This commit is contained in:
parent
77702455a7
commit
11c9d46dfc
@ -15,9 +15,9 @@
|
||||
|
||||
## 20241230 - 20250103
|
||||
- [ ] ocr识别名片、语音转文字 这些先调研一下。后面会有相关的开发任务。
|
||||
- [ ] 开源支持SSO的管理后台
|
||||
- [ ] 企赋网关
|
||||
- [ ] 公司映射管理
|
||||
- [X] 开源支持SSO的管理后台
|
||||
- [X] 企赋网关
|
||||
- [X] 公司映射管理
|
||||
- 导入模板
|
||||
- 导入接口
|
||||
- 查询接口
|
||||
|
7
任务/周报.md
7
任务/周报.md
@ -1,10 +1,15 @@
|
||||
## 20250106 - 20250110
|
||||
- [X] [Yearning SSO接入](http://confluence.qifu.com/pages/viewpage.action?pageId=38508162)
|
||||
- [X] [Gitlab SSO接入](http://confluence.qifu.com/pages/viewpage.action?pageId=38508192)
|
||||
- [ ] K8s健康检查接口集成。
|
||||
- [X] K8s健康检查接口集成。
|
||||
- [ ] 集简云对接(需要付费后才能介入)
|
||||
- [X] 基础架子搭建
|
||||
- [ ] 接口对接
|
||||
- [ ] 面试
|
||||
- 附加任务
|
||||
- [ ] starter-sso 封装
|
||||
- [ ] 国际电子面单下单测试
|
||||
- [ ] 物流轨迹字段完善
|
||||
|
||||
## 20241230 - 20250103
|
||||
|
||||
|
100
教程/20250109-内部程序企微登入接入指南.md
Normal file
100
教程/20250109-内部程序企微登入接入指南.md
Normal file
@ -0,0 +1,100 @@
|
||||
<!-- Space: qifu -->
|
||||
<!-- Parent: 后端技术&知识&规范 -->
|
||||
<!-- Parent: 技术方案 -->
|
||||
<!-- Parent: 基建 -->
|
||||
<!-- Parent: 00-基础组件 -->
|
||||
<!-- Title: 20250109-内部程序企微登入接入指南 -->
|
||||
|
||||
<!-- Macro: :anchor\((.*)\):
|
||||
Template: ac:anchor
|
||||
Anchor: ${1} -->
|
||||
<!-- Macro: \!\[.*\]\((.+)\)\<\!\-\- width=(.*) \-\-\>
|
||||
Template: ac:image
|
||||
Url: ${1}
|
||||
Width: ${2} -->
|
||||
<!-- Macro: \<\!\-\- :toc: \-\-\>
|
||||
Template: ac:toc
|
||||
Printable: 'false'
|
||||
MinLevel: 2
|
||||
MaxLevel: 4 -->
|
||||
<!-- Include: 杂项/声明文件.md -->
|
||||
|
||||
<!-- :toc: -->
|
||||
|
||||
# 单点登录使用说明
|
||||
|
||||
## 快速使用
|
||||
### 开放授权登录端点
|
||||
需要开放的端点列表:
|
||||
- `/oauth/authorize/{client}`
|
||||
- `/oauth/login/{client}`
|
||||
|
||||
- 其中 `{client}` 为变量,所以 需要匹配开放 `/oauth/authorize` 及 `/oauth/login` 下的所有路径
|
||||
- 或者如果可以确定 `{client}`, 则开放替换 `{client}` 后的链接
|
||||
|
||||
### 编写 OauthLoginHandler 实现
|
||||
- 编写 `OauthLoginHandler` 实现登录流程,并注入 `Bean`
|
||||
- 示例:
|
||||
|
||||
```java
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
|
||||
public class DefaultOauthLoginHandler implements OauthLoginHandler {
|
||||
|
||||
@Override
|
||||
public Serializable loginSuccessHandle(AuthUser authUser,
|
||||
YuanMengOauthProperties.OauthProperties oauthProperties) {
|
||||
// TODO 获取用户名
|
||||
String username = authUser.getUsername();
|
||||
// TODO 查询用户
|
||||
User user = xxxDao.selectUserByUsername(username);
|
||||
// TODO 业务登录逻辑
|
||||
String token = xxxLoginService.login(user);
|
||||
// TODO 组装登录结果
|
||||
JSONObject loginResult = new JSONObject();
|
||||
loginResult.put("token", token);
|
||||
// 返回结果
|
||||
return loginResult;
|
||||
}
|
||||
|
||||
}
|
||||
```
|
||||
|
||||
### 配置文件配置
|
||||
```yaml
|
||||
yuanmeng:
|
||||
starter:
|
||||
oauth:
|
||||
config-map:
|
||||
#- 自定义 {client}
|
||||
customClient:
|
||||
#- idp 类型
|
||||
auth-source: KEYCLOAK
|
||||
#- Keycloak 客户端ID
|
||||
client-id: "xxx"
|
||||
#- Keycloak 客户端Secret
|
||||
client-secret: "secret"
|
||||
scopes:
|
||||
- openid
|
||||
- profile
|
||||
- email
|
||||
#- 某个界面或者直接请求该服务后端接口:http://xxx/oauth/login/{client}
|
||||
#- 这边的 {client} 为 customClient
|
||||
redirect-uri: "某个界面或者直接:http://xxx/oauth/login/customClient"
|
||||
#- 当 redirect-uri 配置为后端接口时需要配置,
|
||||
#- 登录成功后会把登录结果拼接到这个链接后面进行跳转
|
||||
#- 配置后请求 login 接口会根据这个链接做跳转,如果 redirect-uri 有页面承接这边就不需要配置
|
||||
login-after-redirect-uri: ""
|
||||
```
|
||||
|
||||
### 前端处理
|
||||
#### 方案一:授权承接界面
|
||||
- 前端添加一个界面来做跳转界面,并把界面链接配置到 `redirect-uri` 上
|
||||
- 跳转界面将路径接收到的参数通过登录链接进行后端`GET`请求。例如 `GET http://xxx/oauth/login/{client}`
|
||||
- 请求结果为登录信息,根据请求结果做对应处理就行
|
||||
|
||||
#### 方案二:登录成功处理界面
|
||||
- 后端直接把 `redirect-uri` 配置为登录接口 `http://xxx/oauth/login/{client}`
|
||||
- 前端给一个可以承接登录成功信息处理的界面
|
||||
- 后端将页面链接配置到 `login-after-redirect-uri` 中
|
||||
- 前端在页面中解析对应登录信息进行处理
|
@ -15,3 +15,4 @@ Content-Type: application/json
|
||||
"token": "8e07fe4a315366f5f67c45da8d3acadffbd6e216168e015da41ad8ee5b9a36ba%7C393ac3b0565395f36ec279f453aa460a7e530c504dc69fa3c2c055ce118e0175",
|
||||
"password": "liu@Texous.com"
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user