身份认证
功能简介
轻流身份认证是基于轻流通讯录提供的应用级身份认证服务,支持OIDC协议,向下兼容OAuth2.0,经过轻流用户的登录并授权后,第三方系统可以获取到权限token和用户的个人信息。该功能仅企业版可用
功能效果
在轻商城-插件中心-身份认证配置中创建应用,填写必要参数后,轻流会自动分配一对client_id和client_secret(secret可以手动重置)作为后续调用身份认证相关服务的凭证。
用户会通过网页登录并授权的形式-换取授权码code-换取access_token和id_token,最终获取到用户的授权&认证信息
设置步骤
创建应用
首先需要系统管理员账号进入本工作区轻商城-插件中心-身份认证配置页面,新建一个身份认证配置

其中回调地址作用为:
1、用户确认授权后的跳转地址,会附带授权码code和state(如有)
2、用作请求中的redirect_uri参数校验
用户登录&授权
请求方式:GET
请求地址(公有云):[https://accounts.qingflow.com/oidc-authorize?response_type=code&client_id=xxxx&redirect_uri=xxxxxx&scope=openid%20email&(state=xxxxxx)](https://accounts.qingflow.com/oidc-authorize?response_type=code&client_id=xxxx&redirect_uri=xxxxxx&scope=openid%20email&(state=xxxxxx%29)
参数
Query Params:
| 参数 | 必须 | 说明 |
|---|---|---|
| response_type | 是 | 固定值:code |
| client_id | 是 | 创建应用时获取 |
| scope | 是 | 决定id_token包含的信息和userInfo接口返回值,可选值openid(必传,返回用户外部userid)、profile(返回用户昵称、头像)、email(返回用户邮箱信息)、phone(返回用户手机号) |
| redirect_uri | 是 | 回调地址,需要与创建应用时填写的保持一致,授权成功后会重定向至此地址并携带code和state(如有)参数 |
| state | 否 | 用于防止跨站请求伪造(CSRF)攻击的参数,会原样透传 |
注:请在浏览器中请求;专有轻流请求url有变动,参照
获取令牌
请求方式:POST
请求地址(公有云):https://qingflow.com/api/oidcAuthentication/token
参数
Headers:
| 参数 | 必须 | 说明 |
|---|---|---|
| Content-Type | 是 | 固定值:application/x-www-form-urlencoded |
Body:
| 参数 | 必须 | 说明 |
|---|---|---|
| code | 是 | 上一步骤中回调时轻流发布的code |
| redirect_uri | 是 | 回调地址,需要与创建应用时填写的保持一致,用作校验 |
| grant_type | 是 | 固定值:authorization_code |
| client_id | 是 | 创建应用时获取 |
返回值包括id_token和access_token,id_token由用户信息经HS256算法的jwt加密生成,加密secret为client_secret,payload包含的信息由scope决定
jwt测试解密可以使用:https://jwt.io/#debugger
获取用户信息
请求方式:GET
请求地址(公有云):https://api.qingflow.com/oidcAuthentication
参数:
Headers
| 参数 | 必须 | 说明 |
|---|---|---|
| oidctoken | 是 | oidc授权后的token |
返回用户信息,由授权时的scope决定,参照下表

OIDC协议相关的可以参照官方文档:https://openid.net/specs/openid-connect-basic-1_0.html