http://u220434.s1.weizhan1.com/admin/login.html
WeLink支持使用标准OAuth2.0协议与企业认证系统进行认证集成,同时配置过程也有一定的约束和规则(参考如下示例)。
注意:如无法调试成功则可能需要对接口进行微调封装。
重要:由于不同的企业对于接口的字段定义可能不同,以下配置中WeLink支持配置通配符{xxx},系统将自动取出xxx,用于下一步请求或者输出。
其中有几个默认定义
{CLIENTID}:应用ID
{SECRET}:应用密钥
{CODE}:在登录授权URL登录成功之后,返回的授权码
{REDIRECT_URI}:指welink的回调地址,https://api.welink.huaweicloud.com/sso/oauth2/magcallback.html
{STATE}:随机数
| 字段 | 值 | 说明 | 是否必填 |
|---|---|---|---|
| 应用ID | 示例:bbb93651a2955de311bb | 应用ID来源企业自有认证系统,即企业认证系统为WeLink注册的应用身份。 | 必填 |
| 应用密钥 | 示例:23da781b27b4c289664b9e7cecf1a9b75af1ber | 应用密钥来源企业自有认证系统,即应用的身份凭证,应用注册时生成。 | 必填 |
| 登录授权URL | 示例:https://www.example.com/login/oauth/authorize?client_id={CLIENTID}&redirect_uri={REDIRECT_URI}&scope=user&state={STATE} | 登录授权URL为企业Oauth登录授权的地址,用户打开WeLink时会跳转到该地址进行登录授权,具体参数遵从企业自有认证系统要求 | 必填 |
| 获取token URL | 示例:https://www.example.com/login/oauth/access_token | 获取access_token的接口地址 | 必填 |
| token 输入参数 | 示例:grant_type=authorization_code&code={CODE}&client_id={CLIENTID}&client_secret={SECRET}&redirect_uri={REDIRECT_URI}&state=xxx | token请求使用的是POST请求,Headers默认Content-Type: application/x-www-form-urlencoded | 必填 |
| token 输出参数 | 默认:access_token 示例1:token 示例2:ticket | WeLink将按照您的配置从获取token接口返回中获取token用于下一步请求, 默认取access_token字段值 | 非必填 |
| 获取用户信息URL | 示例:https://api.example.com/user | 获取用户信息接口地址 | 必填 |
| Headers 参数 | 示例1:Authorization={access_token} 示例2:Authorization=Bearer {access_token} | 调用获取用户信息接口在Headers头中传递的请求头参数,如果token在url中传递,可参考以下常见问题1设置 | 非必填 |
| User 输出参数 | 示例1:login 示例2:sub 示例3:account | 填写的字段为user接口返回的用户账户字段 | 必填 |
点击立即测试,如果配置正常将跳转到认证界面,可以在界面输入准备好的测试账号进行体验测试,测试验证通过才保存并切换。
如果测试正常页面将显示用户信息接口返回的数据,同时确保示例数据中用户账号Z123456已经配置到管理后台通讯录里的员工ID,测试数据结果:
{
'login':'Z123456',
'id':1200112,
'node_id':'MDQ6VXNlcjEyMTkzASM=',
'avatar_url':'https://avatars3.githubusercontent.com/u/1111111?v=4',
'gravatar_id':'',
'url':'https://api.github.com/users/Z123456',
'type':'User'
}1、获取用户信息时,我的access_token是在url中传参该如何设置?
设置获取用户信息URL可以配置如下
2、提示回调地址未注册?
请确认认证系统中回调地址是否配置正确,地址:https://api.welink.huaweicloud.com/sso/oauth2/magcallback.html
3、无法找到用户名?
4、接口返回数据是以下这种方式如何配置?
{
'code': 0,
'message': 'OK',
'data':[{
'role': 'student',
'uuid': 's00123922'
...
}]
}目前参数{} 暂不支持双层数据结构,建议重新封装接口,变成如下方式:WeLink只需要获取登录账号字段,其他信息无需返回
{
'code': 0,
'message': 'OK',
'uuid': 's00123922'
}版权所