1. 云助手扫码登录开发指南

1.1. 扫码登录Demo体验

在接入之前建议体验一下扫码登录的整体流程及交互过程。保证后面接入工作的顺利进行。

1、在PC上打开如下网址 https://open.fdccloud.com/demo/login/index

2、在PC显示的登录界面中,点击“云助手扫码登录”按钮显示二维码登录界面,或者直接使用主页面中显示的二维码

3、在手机上登录云助手APP,并使用云助手的“扫一扫”功能,扫描步骤2中的二维码

4、在云助手中点击“确认登录”

5、PC页面将自动跳转到登录成功后的页面

云助手APP二维码

1.2. 准备工作

云助手扫码登录是基于OAuth2.0协议标准构建的云助手OAuth2.0授权登录系统。

在接入之前,开发者需要在云助手开放平台注册自己的网站应用(可联系云助手团队申请注册)。

注册完毕后,会获得相应的app_id和app_secret,然后就可以开始接入流程。

1.3. 扫码登录流程

1.3.1. 第一步:请求auth_code(临时授权码)

方式1:跳转链接接入

第三方应用通过在PC端打开以下链接

https://open-backend.fdccloud.com/api/connect/qrlogin?app_id=@app_id&redirect_uri=@redirect_uri

参数说明

参数 是否必填 说明
app_id 应用唯一标识(注册应用时获取)
redirect_uri 云助手扫码登录后的回调地址(请使用urlEncode对链接进行编码)

返回说明

用户在云助手中允许授权登录后,将会重定向到redirect_uri的网址上,并且带上auth_code参数

redirect_uri?auth_code=@auth_code

方式2:JS SDK接入(可直接在自己的页面嵌入登录二维码)

Step1:引入js

<script src="https://open.fdccloud.com/js/yzsLogin.js"></script>

Step2:在需要使用云助手登录的地方实例化以下JS对象

var yzsLogin = new YzsLogin(
            {
                id:"login_container",
                app_id:"10000",
                height:260,
                width:260
            }
        );

参数说明

参数 是否必填 说明
app_id 应用唯一标识(注册应用时获取)
id 第三页面显示二维码的容器id
width 第三页面显示二维码的宽度
height 第三页面显示二维码的高度

监听扫码事件

 var hanndleMessage = function (event) {
        var origin = event.origin;
        if(event.data && typeof(event.data.from) != 'undefined'&&event.data.from=='scan_login'){
            console.log("event.data: " + JSON.stringify(event.data));
//            102   二维码被扫描
//            103   用户扫码但是取消登录)
//            104   二维码过期(5分钟)
//            1     用户在云助手中扫码并确认登录,此时可以拿到临时授权码了
            if(event.data.code == 102){
                 console.log('扫描成功,请在云助手中点击确认');
            }else if(event.data.code == 103){
                 console.log('您已取消此次登录');
            }else if(event.data.code == 104){
                 console.log('您的二维码已失效,请点击刷新');
            }else if(event.data.code == 1){
                console.log('用户在云助手中扫码并确认登录,此时可以拿到临时授权码了');
                var auth_code = event.data.auth_code;
            }
        }
    };

    if (typeof window.addEventListener != 'undefined') {
        window.addEventListener('message', hanndleMessage, false);
    } else if (typeof window.attachEvent != 'undefined') {
        window.attachEvent('onmessage', hanndleMessage);
    }

1.3.2. 第二步:通过auth_code获取access_token

通过auth_code获取access_token

https://open-backend.fdccloud.com/api/connect/get-access-token?app_id=@app_id&app_secret=@app_secret&auth_code=@auth_code

参数说明

参数 是否必填 说明
app_id 应用唯一标识(注册应用时获取)
app_secret 应用秘钥(注册应用时获取)
auth_code 填写第一步获取的auth_code参数(有效期10分钟)

返回说明

{
    "success": 1,
    "data": {
        "code": 1,
        "access_token":"@access_token"
    }
}

1.3.3. 第三步:通过access_token调用接口

获取access_token后,进行接口调用,有以下前提

  1. access_token有效且未超时;(有效期2小时)

获取云助手用户信息

https://open-backend.fdccloud.com/api/connect/get-user-info?access_token=@access_token

参数说明

参数 是否必填 说明
access_token 填写第二步获取的access_token参数(请使用urlEncode对access_token进行编码)

返回说明

{
    "success": 1,
    "data": {
        "code": 1,
        "message": "正常",
        "user_info": {
            "wzs_user_id": "wzs5996a0c342c36325963632",
            "open_id": "mysoft59bb4264a71b9281261867",
            "user_code": "meiy02",
            "user_name": "梅义",
            "avatar": "https://a.b.c/d.png",
            "tenant_id": "my56a9c966df069",
            "tenant_code": "mysoft_ci",
            "tenant_name": "明源云CI-EDIT244",
            "customer_id": "1212312312",
            "customer_name": "明源集团",
            "address_type": "erp",
            "erp_ver": "352"
        }
    }
}

返回参数说明

参数 说明
code 返回码
message 错误信息
wzs_user_id 云助手用户id
open_id 云助手open_id
user_code 用户code
user_name 用户名称
avatar 用户头像
tenant_id 租户id
tenant_code 租户code
tenant_name 租户名称
customer_id 客户id
customer_name 客户名称
address_type 主通讯录类型(erp或者ad)
erp_ver 当主通讯录时erp时,会返回erp_ver,如果存在多个erp_ver,以逗号分隔

results matching ""

    No results matching ""