https://yunzhijia.com/opencloud/openthird/qrlogin,并成功获取appId云之家二维码登录授权旨在通过云之家扫码登录第三方网站或应用,在云之家扫码之后,重定向到第三方业务系统,同时获取appId和ticket参数, 通过这两个参数获取用户信息之后,与第三方进行账号绑定,从而完成二维码登录授权的流程,具体授权流程如下:
云之家二维码访问地址示例(带自定义样式访问,在链接最后追加参数csshref):https://www.yunzhijia.com/opencloud/openthird/qrconnet?appid=10780&redirect_uri=http%3a%2f%2fclub.kingdee.com%2fclub%2fnewclub&state=12345678&csshref=https%3a%2f%2fwww.yunzhijia.com%2fopencloud%2fres%2fcss%2fdemo.css
请求参数说明:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| appid | String | 是 | 平台级应用Id |
| redirect_uri | String | 是 | 第三方网站或者应用链接地址(必须urlencode之后) |
| state | String | 否 | 用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于 防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简 单的随机数加session进行校验 |
| csshref | String | 否 | 用于扫码登录的自定义CSS页面样式链接地址(必须urlencode之后) cssdemo:https://www.yunzhijia.com/opencloud/res/css/demo.css urlencode之后为上面示例中csshref:https%3a%2f%2fwww.yunzhijia.com%2fopencloud%2fres%2fcss%2fdemo.css |
返回说明:
云之家扫码登录成功返回示例:http://club.kingdee.com/club/newclub?appid=10780&ticket=APPURLWITHTICKET3a5e5632ff7e7e1d45e93255e22e343a&expiretime=3598&state=12345678
用户允许授权后,将会重定向到redirect_uri的网址上,并且带上appid,ticket,expiretime 以及state参数,具体参数含义如下表:
| 参数名称 | 数据类型 | 必选 | 说明 |
|---|---|---|---|
| appid | String | 是 | 平台级应用Id |
| ticket | String | 是 | 云之家扫码登录成功后重定向到第三方后url携带的参数 |
| expiretime | String | 否 | ticket剩余有效时间(默认3600s) |
| state | String | 否 | 用于保持请求和回调的状态,授权请求后原样带回给第三方。该参数可用于 防止csrf攻击(跨站请求伪造攻击),建议第三方带上该参数,可设置为简 单的随机数加session进行校验 |
登录金蝶社区:http://club.kingdee.com/club/newclub
第一步:注册云之家账号和云之家开发者账号
第二步:申请平台级应用,获取应用ID 和 AppSecret
第二步:生成云之家二维码
第三步:通过iframe嵌套二维码地址到第三方业务系统首页(http://club.kingdee.com/club/newclub)
示例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Parent Page</title>
<script language="javascript" type="text/javascript">
function parenttest() {
//alert("这是父页面的方法!");
}
function btnClick() {
//alert("启动调用子页面的方法");
document.getElementById("childframe").contentWindow.childtest();
}
</script>
</head>
<body>
<div style="margin:auto;">
<h1>This is the Parent Page.</h1>
<input type="button" value="调用子页面的方法" onclick="btnClick()"/>
</div>
<div style="margin:auto;">
<iframe style="width:300px; height:300px;" id="childframe" src="https://www.yunzhijia.com/opencloud/openthird/qrconnet?appid=10780&redirect_uri=https%3a%2f%2fopen.yunzhijia.com&state=12345678"></iframe>
</div>
</body>
</html>
第四步:通过云之家开放平台API https://open.yunzhijia.com/gitbook-wiki/server-api/userContext.html获取云之家app当前用户信息
第五步:完成第三方系统和云之家用户的绑定
第六步:完成云之家第三方系统扫码登录
效果图如下:
