用户密码

一、应用场景

用户管理是物联云平台提供的修改C端用户登录密码的功能。包含用户在已登录状态下修改账号的登录密码,用户在未登录状态下重置账号的登录密码。

用户可通过邮箱或者手机号进行重置密码。用户通过邮箱或手机号重置密码都需要先在物联云平台管理台配置对应的消息模板。
邮箱重置密码物联云平台提供两种方式,分别为邮件验证码和重置链接的方式进行修改。通过邮件验证码的方式进行修改时,需要用户填入接收到的验证码和邮箱账号进行修改。通过重置链接的方式进行修改,需要用户点击邮件中的链接,在链接中修改登录密码。
手机重置密码物联云平台提供通过短信验证码的方式进行修改。通过短信验证码的方式进行修改时,需要用户填入接收到的验证码和手机号进行修改。

  • 用户在登录后可以修改个人的登录密码。

  • 用户在忘记密码的情况下,可以通过邮箱、手机号重置登录密码。

二、功能说明

企业提供给用户通过邮箱重置密码的功能时,需要前往物联云平台管理台【应用中心->集成->邮件服务】中选择企业使用的邮箱渠道。完成后需要配置【邮件模板->系统推荐->重置密码】和【邮件模板->系统推荐->邮箱找回密码】对应的模板信息。未配置邮件模板的情况下,平台会使用默认的模板发送邮件。

用户通过重置链接修改密码时,会在邮箱中接收到物联云平台发送的重置邮件。用户需要在重置邮件中点击重置链接进行修改后,使用新密码登入平台中。
用户通过邮件验证码修改密码时,会在邮箱中接收到物联云平台发送的找回密码邮件。用户需要将邮件中的验证码填入输入框中,和新密码一起提交后,使用新密码登入平台中。

用户使用手机号进行重置密码时,会接收到物联云平台发送的重置密码短信。用户需要将邮件中的验证码填入输入框中,和新密码一起提交后,使用新密码登入平台中。

三、前提条件

1.重置密码需要用户的账号信息中已添加邮箱或手机号。
2.完成邮件服务和邮件模板的配置,并保证邮件服务的可用性。
3.完成短信服务和短信模板的配置,并保证短信服务的可用性。
4.用户注册时提供的邮箱或手机可以接收到信息。

四、关键流程

4.1 用户通过手机找回密码

流程说明:

  • 首先,C端APP用户 在忘记密码的情况下向物联网中台发起 获取找回密码手机图片验证码 请求,获得手机图片验证码地址并显示在App上,该请求适用于在 获取找回密码手机验证码 报获取次数超过阈值的时才进行调用。
  • 其次,C端APP用户 向物联网中台发起 获取找回密码手机验证码 请求,物联网中台接收到请求后产生与手机号码绑定的手机验证码并通过短信平台发送到手机上。
  • 最后,C端APP用户 通过接收到的手机验证码向物联网中台发起 通过手机号码和手机验证码重置密码 请求,物联网中台接收到请求后进行手机号码与验证码校验,业务逻辑校验通过后重置C端APP用户关联的密码。

用户通过手机找回密码

4.2 用户通过邮箱找回密码

流程说明:

  • 首先,C端APP用户 向物联网中台发起 获取找回密码邮件验证码 请求,物联网中台接收到请求后产生与邮箱地址绑定的验证码并通过邮件平台发送到邮箱上。
  • 其次,C端APP用户通过邮箱获得与邮箱关联的验证码,向物联网中台发起 通过邮箱和邮件验证码重置密码 请求。
  • 最后,物联网中台接收到请求后进行邮箱地址与验证码校验,业务逻辑校验通过后重置C端APP用户的密码。

用户通过邮箱找回密码

4.3 用户修改密码

流程说明:

  • 首先,C端APP用户登录到物联网中台,获取到物联网中台的调用凭证以及刷新凭证。
  • 其次,C端APP用户向物联网中台发起 新旧密码允许一致修改密码 或者 新旧密码不允许一致修改密码 请求。
  • 最后,物联网中台接收到修改密码请求后,通过一系列参数校验后,在持久层更新C端APP用户的密码。
  • 其中, 新旧密码允许一致修改密码 或者 新旧密码不允许一致修改密码 需要根据每款App需求进行使用。

用户修改密码

4.4 用户临时密码登录

流程说明:

  • 首先,C端APP用户在忘记密码的情况下向物联网中台发起 **通过邮件申请临时密码 ** 请求。
  • 其次,C端APP用户 查看邮箱邮件得到临时密码。
  • 再次,C端APP用户 在App中填入临时密码向物联网中台发起 使用临时密码登录 请求得到用户级调用凭证。
  • 最后,C端APP用户 使用用户级调用凭证向物联网中台查询用户相关信息渲染App。

用户临时密码登录

五、API列表

5.1 用户找回密码

5.1.1 找回密码–获取找回密码手机/邮件验证码

接口描述

C端用户在忘记密码的情况下,确定自己的账号是一个手机号时,准备使用手机号码找回密码,在进行重置密码之前需要证明手机的归属有效性,因此需要请求一个找回密码的验证码,使用手机号码会通过短信告知验证码,再使用验证码配合手机号进行重置密码;确定自己的账号是一个邮箱时,准备使用邮箱找回密码,因此需要调用此接口会通过邮箱向用户邮箱发送一个找回密码的链接,点击链接直接进入重置密码页面进行重置密码;手机邮箱二选一,参数优先识别手机号

请求方式

POST

请求地址

/v2/user/password/forgot

请求头

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

请求参数

名称 位置 必填 类型 备注
corp_id body true String 企业标识
phone body false String 手机号码
phone_zone body false String 手机区号,传phone之后必传
captcha body false String 手机图片验证码,传phone之后且获取到过多验证码之后必传
email body false String 邮箱
local_lang body false String 本地语言代码
zh-cn:中国
en-us:美国
de:德国
se:瑞典
fr:法国
nl:荷兰
it:意大利
fi:芬兰
no:挪威
dk:丹麦
pl:波兰
es:西班牙
pt:葡萄牙
cz:捷克
sk:斯洛伐克
si:斯洛文尼亚
hr:克罗地亚
hu:匈牙利
ro:罗马尼亚
bg:保加利亚
ru:俄罗斯

请求示例:

{
    "corp_id": "1235658fddf45fdse",
    "phone": "13838383388",
    "phone_zone": "+86",
    "captcha": "894515",
    "email":"liqinghua@xlink.cn",
    "local_lang": "zh-cn"
}

返回参数说明

名称 必填 类型 备注

返回示例:

{
}

错误码:

错误码 描述
4001001 请求数据字段验证不通过
4001002 请求数据必须字段不可为空
4031001 调用凭证权限被禁止访问
4031003 无效的调用凭证
4031002 需要调用凭证
4041001 接口不存在
5031001 系统错误
4031024 权限不足
4041011 用户不存在
4001031 手机未认证
4001052 手机短信已达到限额
4041010 企业不存在
4041019 邮箱不存在
4001032 邮箱未验证

5.1.2 找回密码–获取找回密码手机图片验证码

接口描述

C端用户使用手机号请求找回密码需要发送短信,当一个手机号发送短信达到一定次数以后,需要请求本接口生成图片验证码进行验证。

请求方式

POST

请求地址

/v2/user/password/captcha

请求头

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

请求参数

名称 位置 必填 类型 备注
corp_id body true String 企业标识
phone body true String 手机号码
phone_zone body true String 手机区号

请求示例:

{
    "corp_id": "512456ewd2ff456e",
    "phone": "13838383388",
    "phone_zone": "+86"
}

返回参数说明

名称 必填 类型 备注
url true String 图片验证码地址

返回示例:

{
    "url": "http://www.baidu.com"
}

错误码:

错误码 描述
4001001 请求数据字段验证不通过
4001002 请求数据必须字段不可为空
4031001 调用凭证权限被禁止访问
4031003 无效的调用凭证
4031002 需要调用凭证
4041001 接口不存在
5031001 系统错误
4031024 权限不足
4041011 用户不存在
4001031 手机未认证
4041010 企业不存在

5.1.3 找回密码–获取找回密码邮箱验证码

接口描述

C端用户在忘记密码的情况下,确定自己的账号是一个邮箱时,通过邮箱获取找回密码的验证码,验证码会以邮件方式进行告知;与5.3.1的区别在于,5.3.1是发送找回密码链接(链接中包含了有效信息)而5.3.3是发送验证码

请求方式

POST

请求地址

/v2/user/password/forgot/email_verifycode

请求头

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

请求参数

名称 位置 必填 类型 备注
corp_id body true String 企业标识
email body true String 邮箱
local_lang body true String 本地语言代码
zh-cn:中国
en-us:美国
de:德国
se:瑞典
fr:法国
nl:荷兰
it:意大利
fi:芬兰
no:挪威
dk:丹麦
pl:波兰
es:西班牙
pt:葡萄牙
cz:捷克
sk:斯洛伐克
si:斯洛文尼亚
hr:克罗地亚
hu:匈牙利
ro:罗马尼亚
bg:保加利亚
ru:俄罗斯

请求示例:

{
    "corp_id": "4562365df12fdffe2",
    "email":"liqinghua@xlink.cn",
    "local_lang": "zh-cn"
}

返回参数说明

名称 必填 类型 备注

返回示例:

{
}

错误码:

错误码 描述
4001001 请求数据字段验证不通过
4001002 请求数据必须字段不可为空
4031001 调用凭证权限被禁止访问
4031003 无效的调用凭证
4031002 需要调用凭证
4041001 接口不存在
5031001 系统错误
4031024 权限不足
4041011 用户不存在
4041019 邮箱不存在
4001032 邮箱未验证
4041010 企业不存在

5.1.4 找回密码–通过手机/邮件验证码重置密码

接口描述

C端用户在忘记密码的情况下,确定自己的账号是一个手机号时,使用手机号以及手机验证码进行重新设置用户密码;确定自己的账号是一个邮箱时,使用邮箱以及邮箱验证码进行重新设置用户密码;手机邮箱二选一,参数优先识别手机号;其中通过邮箱重置密码来源于邮箱的找回密码链接

请求方式

POST

请求地址

/v2/user/password/foundback

请求头

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

请求参数

名称 位置 必填 类型 备注
corp_id body true String 企业标识
phone body false String 手机号码
phone_zone body false String 手机区号,传phone之后必传
email body false String 邮箱
new_password body true String 新密码
verifycode body true String 手机/邮箱验证码

请求示例:

{
    "corp_id": "1266565fdsed12d",
    "phone": "13838383388",
    "phone_zone": "+86",
    "verifycode": "856396",
    "email":"liqinghua@xlink.cn",
    "new_password": "Test@#$%^&"
}

返回参数说明

名称 必填 类型 备注

返回示例:

{
}

错误码:

错误码 描述
4001001 请求数据字段验证不通过
4001002 请求数据必须字段不可为空
4031001 调用凭证权限被禁止访问
4031003 无效的调用凭证
4031002 需要调用凭证
4041001 接口不存在
5031001 系统错误
4031024 权限不足
4041011 用户不存在
4001031 手机未认证
4001052 手机短信已达到限额
4041010 企业不存在
4001003 手机验证码不存在

5.2 用户修改密码

5.2.1 修改密码–新旧密码允许一致

接口描述

C端用户在登录的情况下,进行修改密码,需要传入原先密码;新密码允许与老密码一样

请求方式

PUT

请求地址

/v2/user/password/reset

请求头

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

请求参数

名称 位置 必填 类型 备注
old_password body true String 旧的密码
new_password body true String 新的密码

请求示例:

{
	"old_password": "Test#$%^&*",
	"new_password": "Test#$%^&*"
}

返回参数说明

名称 必填 类型 备注

返回示例:

{
}

错误码:

错误码 描述
4001001 请求数据字段验证不通过
4001002 请求数据必须字段不可为空
4031001 调用凭证权限被禁止访问
4031003 无效的调用凭证
4031002 需要调用凭证
4041001 接口不存在
5031001 系统错误
4031024 权限不足
4041010 企业不存在
4041011 用户不存在
4001181 手机区号错误
4001008 帐号不合法
4001030 用户状态禁用

5.2.2 修改密码–新旧密码不允许一致

接口描述

C端用户在登录的情况下,进行修改密码,需要传入原先密码;新密码不允许与老密码一样

请求方式

PUT

请求地址

/v2/user/password/reset-not-same

请求头

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

请求参数

名称 位置 必填 类型 备注
old_password body true String 老密码
new_password body true String 新密码

请求示例:

{
	"old_password": "Test#$%^&*",
	"new_password": "Test#$%^&*TY@"
}

返回参数说明

名称 必填 类型 备注

返回示例:

{
}

错误码:

错误码 描述
4001001 请求数据字段验证不通过
4001002 请求数据必须字段不可为空
4031001 调用凭证权限被禁止访问
4031003 无效的调用凭证
4031002 需要调用凭证
4041001 接口不存在
5031001 系统错误
4031024 权限不足
4041010 企业不存在
4041011 用户不存在
4001181 手机区号错误
4001008 帐号不合法
4001030 用户状态禁用

5.3 用户临时密码

5.3.1 通过邮件申请临时密码

接口描述

用户在忘记密码的情况下,可以通过邮件申请临时密码并且使用临时密码进行登录;该临时密码有效期为一个小时, 并且一个邮箱一个小时内只能申请两次临时密码;目前只有RB客户在使用

请求方式

POST

请求地址

/v2/user/temp_password/send/email

请求头

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

请求参数

名称 位置 必填 类型 备注
corp_id body true String 企业标识
email body true String 邮箱地址
language body true String 指定邮件的语言,预留字段,目前只支持英文en-us

请求示例:

{
    "corp_id":"51231654fdsffwefdf",
    "email":"liqinghua@xlink.cn",
    "language":"en-us"
}

返回参数说明

名称 必填 类型 备注

返回示例:

{
}

错误码:

错误码 描述
4001001 请求数据字段验证不通过
4001002 请求数据必须字段不可为空
4031001 调用凭证权限被禁止访问
4031003 无效的调用凭证
4031002 需要调用凭证
4041001 接口不存在
5031001 系统错误
4031024 权限不足
4041010 企业不存在
4041011 用户不存在
4001032 用户邮箱未认证
4001432 用户申请临时密码超过限制

5.3.2 使用临时密码登录

接口描述

用户在通过邮箱申请得到临时密码之后,使用临时密码进行登录;与此同时,该接口兼容了原始密码登录功能, 也就是说使用原始密码和临时密码均可以使用该接口进行登录;目前只有RB客户在使用

请求方式

POST

请求地址

/v2/user_auth/temp_password

请求头

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

请求参数

名称 位置 必填 类型 备注
corp_id body true String 企业标识
phone body false String 手机号码
phone_zone body false String 手机区号,使用手机号码登录时可选。
email body false String 邮箱地址
password body true String 登录原始密码或者临时密码
resource body true String 用户登录源

请求示例:

{
    "corp_id": "1234565e4f5dff",
    "phone": "13838383388",
    "phone_zone": "+86",
    "email": "liqinghua@xlink.cn",
    "password": "Test@#$%^&",
    "resource": "TEST"
}

返回参数说明

名称 必填 类型 备注
user_id true Int 用户标识
access_token true String 调用凭证
refresh_token true String 刷新凭证
expire_in true Int 调用凭证有效期,单位秒
authorize true String 用户认证码
is_temp_password true Boolean 是否使用临时密码登录

返回示例:

{
    "user_id": 123535554,
    "access_token": "123565sdfsfsf4dsfsd45gggg",
    "refresh_token": "123565sdfsfsf4dsfefdfwef",
    "expire_in": 7200,
    "authorize": "4562112sdfsdfsd",
    "is_temp_password": true,
}

错误码:

错误码 描述
4001001 请求数据字段验证不通过
4001002 请求数据必须字段不可为空
4031001 调用凭证权限被禁止访问
4031003 无效的调用凭证
4031002 需要调用凭证
4041001 接口不存在
5031001 系统错误
4031024 权限不足
4041010 企业不存在
4041011 用户不存在
4001124 账号未初始化密码
4001061 账号已被锁定, 多次输入错误密码导致
4001083 企业处于迁移状态
4001007 账号密码错误
没找到需要的文档?
你可以提交工单反馈 或 阅读常见问题