用户第三方认证接口

一、应用场景

第三方平台用户指代非物联云平台自主注册的C端App用户。物联云平台支持第三方平台用户直接跳转至平台中,而无需再次进行注册账号、输入账号密码进行登录等操作。

第三方平台分为主流第三方平台(微信、QQ、微博、支付宝、Facebook、Twitter)及通过物联云平台认证的第三方平台。非主流第三方平台需要根据物联云平台接口规范进行实现,并将已实现的接口URL地址配置在免登陆验证中。用户在第三方平台登录成功后,通过open_id、access_token在物联云平台请求登录。

用户在第三方平台登录后,可无感切换至物联云平台中继续进行操作。
用于第三方平台维护平台间统一的用户身份体系。

二、功能说明

客户可以在物联网平台的管理台【应用中心->集成->免验证登录】中,依据第三方平台认证接口规范进行实现。在免登陆验证中配置已实现的接口URL地址和token信息。依据第三方平台用户登录接口发送请求。

第三方平台用户首次登入,物联云平台会自动为其创建用户信息。并绑定第三方平台的open_id。物联云平台支持用户解绑第三方平台的open_id。

第三方平台用户登入后,物联云平台自动初始化其登录密码,每个第三方用户只能初始化一次密码。后续按照忘记密码流程进行处理。

三、前提条件

1.依据物联云平台接口规范实现,并将接口URL地址和token配置在免登陆验证中。
2.第三方平台需要完成和物联云平台的用户登录对接。
3.目前仅支持微信用户、QQ用户、微博用户、支付宝用户、Twitter用户、Facebook用户。

四、关键流程

4.1 用户第三方认证

流程说明:

  • 首先,管理员级B端成员 登录到 企业管理台 得到物联网中台成员级调用凭证和刷新凭证。
  • 其次,管理员级B端成员 获得到物联云平台第三方平台的用户认证地址和用户认证凭证,向 物联网中台 发起 设置用户第三方认证配置 请求,进行认证校验配置。
  • 再次,管理员级B端成员物联网中台 发起 查询用户第三方认证配置 请求,得到用户第三方认证的配置确认是否配置正确。
  • 接着,第三方C端用户 登录到 物联云平台标准第三方平台,获得第三方平台调用凭证以及第三方标识。
  • 接着,第三方C端用户 依据第三方平台调用凭证以及第三方标识向物联网中台发起 第三方用户认证登录 请求。
  • 最后,物联网中台接收到 第三方用户认证登录 请求后查找出对应的第三方平台校验地址和校验凭证,向物联云平台第三方平台发起 第三方调用凭证和第三方标识校验 请求,校验通过后为第三方C端用户颁发用户级调用凭证以及刷新凭证。

用户第三方认证流程

五、API列表

5.1 第三方认证设置

5.1.1 设置用户第三方认证配置

接口描述

当企业希望启用第三方认证登录时,需要登录到物联网企业管理台处设置第三方认证的认证回调地址,此接口正是用于配置每个企业的用户第三方认证的回调地址以及凭证。

请求方式

POST

请求地址

/v2/corp_setting

请求头

名称 必填 类型 备注
Access-Token true String 调用凭证
企业成员
Content-Type true String application/json

请求参数

名称 位置 必填 类型 备注
user_auth_third body true Object 用户第三方认证配置
user_auth_third.url body true String 用户第三方认证地址
user_auth_third.token body true String 用户第三方认证凭证

请求示例:

{
	"user_auth_third": {
		"url": "http://www.xlink.cn",
		"token": "456125145"
	}
}

返回参数说明

名称 必填 类型 备注
user_auth_third true Object 用户第三方认证配置
user_auth_third.url true String 用户第三方认证地址
user_auth_third.token false String 用户第三方认证地址

返回示例:

{
	"user_auth_third": {
		"url": "http://www.xlink.cn",
		"token": "456125145"
	}
}

错误码:

错误码 描述
40010001 请求数据字段验证不通过
4001002 请求数据必须字段不可为空
4031001 调用凭证权限被禁止访问
4031003 无效的调用凭证
4031002 需要调用凭证
4041001 接口不存在
5031001 系统错误

5.1.2 查询用户第三方认证配置

接口描述

查询企业下用户第三方认证配置信息。

请求方式

GET

请求地址

/v2/corp_setting

请求头

名称 必填 类型 备注
Access-Token true String 调用凭证
企业成员
Content-Type true String application/json

请求参数

名称 位置 必填 类型 备注
—- —- —- —- —-

请求示例:

{
}

返回参数说明

名称 必填 类型 备注
user_auth_third true Object 用户第三方认证配置
user_auth_third.url true String 用户第三方认证地址
user_auth_third.token false String 用户第三方认证地址

返回示例:

{
	"user_auth_third": {
		"url": "http://www.xlink.cn",
		"token": "456125145"
	}
}

错误码:

错误码 描述
40010001 请求数据字段验证不通过
4001002 请求数据必须字段不可为空
4031001 调用凭证权限被禁止访问
4031003 无效的调用凭证
4031002 需要调用凭证
4041001 接口不存在
5031001 系统错误

5.2 第三方认证登录

5.1.2 第三方用户认证登录

接口描述

用户在通过了第三方平台登录成功后,通过第三方openId、accessToken在物联云平台请求登录,如果第三方用户不在物联云平台则直接创建一个用户,如果已在物联云平台则更新相关信息.

请求方式

POST

请求地址

/v2/user_auth_third

请求头

名称 必填 类型 备注
Content-Type true String application/json

请求参数

名称 位置 必填 类型 备注
source body true Int 用户第三方源
10: 其他
plugin_id body false String 应用标识
open_id body true String 第三方用户标识
corp_id body true String 企业标识
access_token body true String 第三方调用凭证
name body false String 用户名称
resource body false String 用户登录源

请求示例:

{
    "source": 4,
    "corp_id": "1235aed1f1df222",
    "open_id":"156s1fe6d123fef15d1d2",
    "access_token":"1112sdfwefdsfafd212",
    "name":"李清华",
    "resource":"TEST",
    "plugin_id":"131566efdfaew23"
}

返回参数说明

名称 必填 类型 备注
user_id true String 用户标识
access_token true String 调用凭证
refresh_token true String 刷新凭证
expire_in true Int 调用凭证的有效期
authorize true String 用户认证码

返回示例:

{
    "user_id":112356456,
    "access_token":"dsfs16we1d1fd23afew5fdf",
    "refresh_token":"1561ewfd1s2fwe5fffdfdsfsdf",
    "expire_in":7200,
    "authorize":"dsfe1561d56fds1fe"
}

错误码:

错误码 描述
4001001 请求数据字段验证不通过
4001002 请求数据必须字段不可为空
4031001 调用凭证权限被禁止访问
4031003 无效的调用凭证
4031002 需要调用凭证
4041001 接口不存在
5031001 系统错误
4031024 权限不足
4001482 第三方源未知
4041020 应用不存在
4041023 未设置第三方登录地址
4001059 第三方验证失败

5.3 外部系统实现接口标准

5.3.1 第三方调用凭证和第三方标识校验

接口描述

物联网中台企业设置了用户第三方认证配置后发起用户第三方认证登录,此时物联网中台会向外部系统发起第三方调用凭证和第三方标识校验 请求,用于确认第三方凭证和第三方标识的有效性。

第三方调用凭证和第三方标识校验: 需要符合以下规范,且由外部系统实现,其中请求地址可自定义,调用成功判断标准为HTTP响应状态码为200且返回对应的返回值

请求方式

GET

请求地址

http://xxxx/xxx/xxx/xxx?access_token=xxxx?open_id=xxxx?timestamp=xxxx?sign=xxxx

请求头

名称 必填 类型 备注
Content-Type true String application/json

请求参数

名称 位置 必填 类型 备注
access_token body true String 第三方认证登录时传输到物联平台的access_token
open_id body true String 第三方认证登录时传输到物联平台的open_id
timestamp body true Long 物联平台生成的时间戳
sign body true String 请求签名
1.签名算法:MD5(open_id+access_token+timestamp+sign_token)
2.sign_token为5.1.1 设置成员第三方认证配置中的token
3.外部系统接收到请求后,使用同样的签名方法得到签名与请求签名参数相比较以确认请求是否有效合法

请求示例:

{
}

返回参数说明

名称 必填 类型 备注
open_id false String 第三方用户标识
nickname false String 昵称
sex false Int 性别
1:男
2:女
-1:未知
country false String 所在国家
province false String 所在省份
city false String 所在城市
phone false String 手机号码
email false String 邮箱地址

返回示例:

{
	"open_id": "4541465ewfds23f1ds",
	"nickname": "lily",
	"sex": 2,
	"country": "中国",
	"province": "广东",
	"city": "广州",
	"phone": "13838383388",
	"email": "liqinghua@xlink.cn"
}

错误码:

错误码 描述
—- —-

六、物联云平台标准第三方平台

6.1 物联云平台标准第三方成员平台

  • 第三方平台实现了 5.3.1 第三方调用凭证和第三方标识校验 标准的接口。

  • 第三方平台将实现了 5.3.1 第三方调用凭证和第三方标识校验 标准的接口使用 5.1.1 设置用户第三方认证配置 配置在物联网中台。

  • 至此,可以称第三方平台为 物联云平台标准第三方成员平台

没找到需要的文档?
你可以提交工单反馈 或 阅读常见问题