更新记录
1.0.1(2025-07-17)
下载此版本
OAuth2.0 集成说明
⚠️ 重要注意事项
- 注意:这只是后端的Demo演示方便查看
+ 实际实现中应当:
1. 将 refresh_token 刷新令牌安全存储到数据库中
2. 用于后续刷新 access_token 访问令牌
3. 通过有效的访问令牌获取用户受保护的信息
平台兼容性
uni-app(4.52)
Vue2 |
Vue3 |
Chrome |
Safari |
app-vue |
app-nvue |
Android |
iOS |
鸿蒙 |
√ |
√ |
- |
- |
√ |
- |
√ |
√ |
- |
微信小程序 |
支付宝小程序 |
抖音小程序 |
百度小程序 |
快手小程序 |
京东小程序 |
鸿蒙元服务 |
QQ小程序 |
飞书小程序 |
快应用-华为 |
快应用-联盟 |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
其他
OAuth2.0 集成说明
⚠️ 重要注意事项
- 注意:这只是后端的Demo演示方便查看
+ 实际实现中应当:
1. 将 refresh_token 刷新令牌安全存储到数据库中
2. 用于后续刷新 access_token 访问令牌
3. 通过有效的访问令牌获取用户受保护的信息
🌟 前端请求示例
qidao://authorize
?client_id=[栖岛申请的应用ID]
&redirect_uri=[你的Scheme回调地址]
&scope=[需要的权限(多个用空格分隔)]
&state=[随机防CSRF令牌]
&response_type=code
参数说明表
参数 |
类型 |
是否必须 |
说明 |
client_id |
string |
✔️ |
栖岛平台分配的应用标识 |
redirect_uri |
string |
✔️ |
授权后跳转的URI (需URL编码) |
scope |
string |
✔️ |
权限范围(如:profile email ) |
state |
string |
✔️ |
随机防CSRF令牌 |
response_type |
string |
✔️ |
固定值 code |
🚀 栖岛OAuth2.0登录流程演示
sequenceDiagram
participant 用户APP
participant 栖岛认证服务
participant 开发者后端
用户APP->>栖岛认证服务: 1. 发起授权请求(带Scheme参数)
栖岛认证服务-->>用户APP: 2. 返回授权页面
用户APP->>栖岛认证服务: 3. 用户登录/授权
栖岛认证服务->>用户APP: 4. 重定向到redirect_uri(带code)
用户APP->>开发者后端: 5. 提交授权码(code)
开发者后端->>栖岛认证服务: 6. 用code换取token
栖岛认证服务-->>开发者后端: 7. 返回access_token/refresh_token
开发者后端-->>用户APP: 8. 返回登录成功状态
实现说明
-
前端职责:
- 构造合规的授权请求URL
- 处理Scheme回调获取授权码
- 将授权码提交给后端服务
-
后端职责:
- 验证state参数有效性
- 用授权码换取访问令牌
- 安全存储refresh_token
- 提供业务接口给前端
-
安全建议:
- 每次生成新的state参数
- 使用HTTPS传输敏感数据
- refresh_token必须服务器存储