华为云用户手册

  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 access_token String 授权服务器返回给第三方应用的访问令牌。 token_type String 访问令牌类型。固定值:Bearer。 expires_in Long 访问令牌的有效期,以秒为单位。 scope String 授权范围。 refresh_token String 刷新令牌。 状态码: 400 表3 响应Body参数 参数 参数类型 描述 error String 错误类型。 error_description String 错误描述。
  • 请求示例 基于refresh_token刷新access_token,refresh_token通过调用获取AccessToken接口的响应值获取,client_id和client_secret使用注册应用时分配的ClientId和ClientSecret,grant_type为固定值refresh_token。 POST https://{domain_name}/api/v1/oauth2/token Content-Type: application/x-www-form-urlencoded client_id=NzZeWuiJa91dPSRdZQChMazIh13AW...& client_secret=NzZ******3AW& refresh_token=e8e******7e3& grant_type=refresh_token
  • 请求示例 校验图形验证码。坐标信息为{"x":237.0,"y":5.0},token为71d******635,发送方手机号为12345678901。 POST https://{domain_name}/api/v2/sdk/captcha/verify X-operating-sys-version: Android 10 X-device-fingerprint: 156aysdna213sac X-device-ip: 10.10.10.1 X-agent: Mozilla/5.0 (Linux; Android 10; Redmi K30 Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.99 Mobile Safari/537.36 X-L: zh X-client-id: DRrYIqauawN0I8myTMoDTPys6ezGZxnm X-tenant-id: 08f770f51f80d2f40f38c00cb199fd21 { "point_json": "{\"x\":237.0,\"y\":5.0}", "token": "71d******635", "sender": "12345678901" }
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-operating-sys-version 是 String 调用方操作系统版本,例如:Android 10。 X-device-fingerprint 是 String 调用方设备指纹,例如:156aysdna213sc50。 X-device-ip 否 String 调用方IP,例如:10.10.10.1。 X-agent 是 String 用户Agent信息,例如:Mozilla/5.0 (Linux; Android 10; Redmi K30 Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.99 Mobile Safari/537.36。 X-L 否 String 用于国际化语言设置,例如:zh。 X-client-id 是 String 应用标识,注册应用后分配的ClientId。 X-tenant-id 否 String 租户id,ISV应用调用则为必填,需要将{domain_name}换成ISV通用 域名 {common_domain},请求Header参数中需要指定对应租户的tenant_id,并将X-client-id换成ISV应用模板的client_id。 表2 请求Body参数 参数 是否必选 参数类型 描述 point_json 是 String 坐标信息,y轴固定值5.0。 token 是 String 获取图形验证码返回的token。 sender 是 String 发送方(手机号、邮箱)。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 session_token String 用户新的session_token,可使用该token调用单点登录接口获取sso_ticket,通过sso_ticket可以获取用户信息。 id_token String 本质上是一个JWT Token,包含了用户身份信息,默认2小时有效,支持可配置。 expire Integer 过期时间,单位为秒。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误详情。
  • 请求示例 根据用户登录成功后获取值为r5y******LU1的session_token再刷新session_token。 POST https://{domain_name}/api/v2/tenant/sso/session-token/refresh Authorization: Bearer 334963fc-1e4a-473b-9096-52a929140... X-tenant-id: 08f770f51f80d2f40f38c00cb199fd21 { "session_token": "r5y******LU1", "operating_sys_version": "Android 10", "device_ip": "10.10.10.1", "device_fingerprint": "156aysdna213sac", "agent": "Mozilla/5.0 (Linux; Android 10; Redmi K30 Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.99 Mobile Safari/537.36" }
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 Authorization 是 String 认证凭据,值:Bearer {access_token},access_token通过“获取访问凭据”接口获取。 X-tenant-id 否 String 租户外部ID,如果为ISV方调用则为必填,需要将{domain_name}换成ISV通用域名{common_domain},请求Header参数中需要指定对应租户的tenant_id。 表2 请求Body参数 参数 是否必选 参数类型 描述 session_token 是 String 用户登录后的session_token。 operating_sys_version 是 String 调用方操作系统版本,例如: Android 10。 device_ip 是 String 调用方设备ip,例如:10.10.10.1。 device_fingerprint 是 String 调用方设备指纹,同一个用户调用接口时该参数的值需保持统一,例如:156aysdna213sc50。 agent 否 String 调用方User-Agent信息。例如:Mozilla/5.0 (Linux; Android 10; Redmi K30 Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.99 Mobile Safari/537.36。
  • 请求示例 通过手机号找回密码。手机号为12345678901,验证码为123456,新密码为P******d。 POST https://{domain_name}/api/v2/sdk/pwd/update-by-mobile X-operating-sys-version: Android 10 X-device-fingerprint: 156aysdna213sac X-device-ip: 10.10.10.1 X-agent: Mozilla/5.0 (Linux; Android 10; Redmi K30 Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.99 Mobile Safari/537.36 X-L: zh X-client-id: DRrYIqauawN0I8myTMoDTPys6ezGZxnm X-tenant-id: 08f770f51f80d2f40f38c00cb199fd21 { "mobile": "12345678901", "verify_code": "123456", "password": "P******d" }
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-operating-sys-version 是 String 调用方操作系统版本,例如:Android 10。 X-device-fingerprint 是 String 调用方设备指纹,例如:156aysdna213sc50。 X-device-ip 否 String 调用方IP,例如:10.10.10.1。 X-agent 是 String 用户Agent信息,例如:Mozilla/5.0 (Linux; Android 10; Redmi K30 Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.99 Mobile Safari/537.36。 X-L 否 String 用于国际化语言设置,例如:zh。 X-client-id 是 String 应用标识,注册应用后分配的ClientId。 X-tenant-id 否 String 租户id,ISV应用调用则为必填,需要将{domain_name}换成ISV通用域名{common_domain},请求Header参数中需要指定对应租户的tenant_id,并将X-client-id换成ISV应用模板的client_id。 表2 请求Body参数 参数 是否必选 参数类型 描述 mobile 是 String 接收验证码的手机号。 verify_code 是 String 接收到的验证码。 password 是 String 新密码。
  • 请求示例 跳过强制修改密码。 GET https://{domain_name}/api/v2/sdk/pwd/skip-update X-operating-sys-version: Android 10 X-device-fingerprint: 156aysdna213sac X-device-ip: 10.10.10.1 X-agent: Mozilla/5.0 (Linux; Android 10; Redmi K30 Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.99 Mobile Safari/537.36 X-L: zh X-client-id: DRrYIqauawN0I8myTMoDTPys6ezGZxnm X-state-token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... X-tenant-id: 08f770f51f80d2f40f38c00cb199fd21
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 status String 登录流程状态标识。 枚举值: SUC CES S:登录成功 ACCESS_DENIED:拒绝访问 session_token String 用户session_token,可使用该token调用单点登录接口获取sso_ticket,通过sso_ticket可以获取用户信息。 id_token String 本质上是一个JWT Token,包含了用户身份信息,默认2小时有效,支持可配置。 expire Integer session_token有效期,单位为秒,有效期内可以使用session_token获取ticket。 状态码: 400 表3 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误详情。
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 X-operating-sys-version 是 String 调用方操作系统版本,例如:Android 10。 X-device-fingerprint 是 String 调用方设备指纹,例如:156aysdna213sc50。 X-device-ip 否 String 调用方IP,例如:10.10.10.1。 X-agent 是 String 用户Agent信息,例如:Mozilla/5.0 (Linux; Android 10; Redmi K30 Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.99 Mobile Safari/537.36。 X-L 否 String 用于国际化语言设置,例如:zh。 X-client-id 是 String 应用标识,注册应用后分配的ClientId。 X-state-token 是 String 临时令牌,调用密码登录相关接口,密码快过期时返回的state_token。 X-tenant-id 否 String 租户id,ISV应用调用则为必填,需要将{domain_name}换成ISV通用域名{common_domain},请求Header参数中需要指定对应租户的tenant_id,并将X-client-id换成ISV应用模板的client_id。
  • 请求示例 用户名密码登录。用户名为test01,用户密码为1******6。 POST https://{domain_name}/api/v2/sdk/login X-operating-sys-version: Android 10 X-device-fingerprint: 156aysdna213sac X-device-ip: 10.10.10.1 X-agent: Mozilla/5.0 (Linux; Android 10; Redmi K30 Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.99 Mobile Safari/537.36 X-L: zh X-client-id: DRrYIqauawN0I8myTMoDTPys6ezGZxnm X-tenant-id: 08f770f51f80d2f40f38c00cb199fd21 { "user_name": "test01", "password": "1******6" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 status String 登录流程状态标识。 枚举值: SUCCESS:登录成功 PASSWORD_WARN:密码快过期,需要调用密码过期强制修改密码接口设置密码 PASSWORD_EXPIRED:密码已过期,需要调用密码过期强制修改密码接口设置密码 ACCESS_DENIED:拒绝访问 MFA_AUTH:登录成功但需要进行二次认证,需要调用根据state_Token获取手机号接口、手机和短信验证码二次认证接口进行二次认证 session_token String 用户session_token,可使用该token调用单点登录接口获取sso_ticket,通过sso_ticket可以获取用户信息。 id_token String 本质上是一个JWT Token,包含了用户身份信息,默认2小时有效,支持可配置。 expire Integer session_token有效期,单位为秒,有效期内可以使用session_token获取sso_ticket。 state_token String 用户带有状态的令牌。 data String 返回说明。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误详情。
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-operating-sys-version 是 String 调用方操作系统版本,例如:Android 10。 X-device-fingerprint 是 String 调用方设备指纹,例如:156aysdna213sc50。 X-device-ip 否 String 调用方IP,例如:10.10.10.1。 X-agent 是 String 用户Agent信息,例如:Mozilla/5.0 (Linux; Android 10; Redmi K30 Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.99 Mobile Safari/537.36。 X-L 否 String 用于国际化语言设置,例如:zh。 X-client-id 是 String 应用标识,注册应用后分配的ClientId。 X-tenant-id 否 String 租户id,ISV应用调用则为必填,需要将{domain_name}换成ISV通用域名{common_domain},请求Header参数中需要指定对应租户的tenant_id,并将X-client-id换成ISV应用模板的client_id。 表2 请求Body参数 参数 是否必选 参数类型 描述 user_name 是 String 用户名。 password 是 String 密码。
  • 请求示例 手机短信验证码登录。接收验证码的手机号为12345678901,验证码为232326。 POST https://{domain_name}/api/v2/sdk/login/mobile-verify-code X-operating-sys-version: Android 10 X-device-fingerprint: 156aysdna213sac X-device-ip: 10.10.10.1 X-agent: Mozilla/5.0 (Linux; Android 10; Redmi K30 Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.99 Mobile Safari/537.36 X-L: zh X-client-id: DRrYIqauawN0I8myTMoDTPys6ezGZxnm X-tenant-id: 08f770f51f80d2f40f38c00cb199fd21 { "mobile": "12345678901", "verify_code": "232326" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 status String 登录流程状态标识。 枚举值: SUCCESS:登录成功 PASSWORD_WARN:密码快过期,需要调用密码过期强制修改密码接口设置密码 PASSWORD_EXPIRED:密码已过期,需要调用密码过期强制修改密码接口设置密码 ACCESS_DENIED:拒绝访问 MFA_AUTH:登录成功但需要进行二次认证,需要调用根据state_Token获取手机号接口、手机和短信验证码二次认证接口进行二次认证 session_token String 用户session_token,可使用该token调用单点登录接口获取sso_ticket,通过sso_ticket可以获取用户信息。 id_token String 本质上是一个JWT Token,包含了用户身份信息,默认2小时有效,支持可配置。 expire Integer session_token有效期,单位为秒,有效期内可以使用session_token获取sso_ticket。 state_token String 用户带有状态的令牌。 data String 返回说明。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误详情。
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-operating-sys-version 是 String 调用方操作系统版本,例如:Android 10。 X-device-fingerprint 是 String 调用方设备指纹,例如:156aysdna213sc50。 X-device-ip 否 String 调用方IP,例如:10.10.10.1。 X-agent 是 String 用户Agent信息,例如:Mozilla/5.0 (Linux; Android 10; Redmi K30 Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.99 Mobile Safari/537.36。 X-L 否 String 用于国际化语言设置,例如:zh。 X-client-id 是 String 应用标识,注册应用后分配的ClientId。 X-tenant-id 否 String 租户id,ISV应用调用则为必填,需要将{domain_name}换成ISV通用域名{common_domain},请求Header参数中需要指定对应租户的tenant_id,并将X-client-id换成ISV应用模板的client_id。 表2 请求Body参数 参数 是否必选 参数类型 描述 mobile 是 String 接收验证码的手机号。 verify_code 是 String 接收到的验证码。
  • 请求参数 表1 FormData参数 参数 是否必选 参数类型 描述 grant_type 是 String 授权类型,固定值:authorization_code。 code 是 String 授权码,认证登录后回调获取的授权码。 client_id 是 String 应用标识,注册应用后,分配的ClientId。 client_secret 是 String 应用密钥,注册应用后,分配的ClientSecret。 redirect_uri 是 String 回调地址,地址可以是注册应用时填写的回调地址,也可以是注册应用时填写的回调地址的域名。
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 access_token String 授权服务器返回给第三方应用的访问令牌。 token_type String 访问令牌类型。固定值:Bearer。 expires_in String 访问令牌的有效期,以秒为单位。 scope String 授权范围。 refresh_token String 刷新令牌。默认不生成refresh_token,如果需要,在应用的“认证配置”中设置“Refresh Token有效期”后生成返回。 id_token String ID Token。 状态码: 400 表3 响应Body参数 参数 参数类型 描述 error String 错误类型。 error_description String 错误描述。
  • 请求示例 基于授权码获取ID Token。授权类型为固定值authorization_code,使用注册应用时分配的ClientId和ClientSecret,重定向地址配置为注册应用时的回调地址https://example.com。 POST https://{domain_name}/api/v1/oauth2/token Content-Type: application/x-www-form-urlencoded grant_type=authorization_code& code=0yV...& client_id=cU0L3GsEq1vuOJ5iQrRSu5AyPnKL8...& client_secret=EFj******TcE& redirect_uri=https://example.com
  • 响应示例 状态码: 200 请求成功。 示例 1 { "access_token" : "ObU******NpD", "token_type" : "Bearer", "expires_in" : 7200, "scope" : "openid", "id_token" : "eyJ******Njg" } 示例 2 { "access_token" : "NqMh******d3k", "token_type" : "Bearer", "expires_in" : 7200, "scope" : "openid", "refresh_token" : "5wI******anH", "id_token" : "eyJ******Njg" } 状态码: 400 请求错误。 { "error" : "invalid_grant", "error_description" : "Invalid authorization code" }
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 access_token String 授权服务器返回给第三方应用的访问令牌。 token_type String 访问令牌类型。固定值:Bearer。 expires_in String 访问令牌的有效期,以秒为单位。 scope String 授权范围。 refresh_token String 刷新令牌。 id_token String ID Token。 状态码: 400 表3 响应Body参数 参数 参数类型 描述 error String 错误类型。 error_description String 错误描述。
  • 请求参数 表1 FormData参数 参数 是否必选 参数类型 描述 client_id 是 String 应用标识,注册应用后,分配的ClientId。 client_secret 是 String 应用密钥,注册应用后,分配的ClientSecret。 refresh_token 是 String 刷新令牌,获取ID Token接口中返回。 grant_type 是 String 授权类型,固定值:refresh_token。
  • 请求示例 基于refresh_token刷新access_token,refresh_token通过调用获取 IDT oken接口的响应值获取,client_id和client_secret使用注册应用时分配的ClientId和ClientSecret,grant_type为固定值refresh_token。 POST https://{domain_name}/api/v1/oauth2/token Content-Type: application/x-www-form-urlencoded client_id=cU0L3GsEq1vuOJ5iQrRSu5AyPnKL8...& client_secret=EFj******TcE& refresh_token=b462******7ef& grant_type=refresh_token
  • 响应示例 状态码: 200 请求成功。 { "access_token" : "270******6d5", "token_type" : "Bearer", "expires_in" : 7200, "scope" : "openid", "refresh_token" : "162******412", "id_token" : "eyJ******YTk" } 状态码: 400 请求错误。 { "error" : "invalid_grant", "error_description" : "Invalid authorization code" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 status String 登录流程状态标识。 枚举值: SUCCESS:登录成功 ACCESS_DENIED:拒绝访问 session_token String 用户session_token,可使用该token调用单点登录接口获取sso_ticket,通过sso_ticket可以获取用户信息。 id_token String 本质上是一个JWT Token,包含了用户身份信息,默认2小时有效,支持可配置。 expire Integer session_token有效期,单位为秒,有效期内可以使用session_token获取ticket。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误详情。
  • 请求示例 手机号短信验证码二次认证。手机号为12345678901,验证码为123456。 POST https://{domain_name}/api/v2/sdk/mfa/sms X-operating-sys-version: Android 10 X-device-fingerprint: 156aysdna213sac X-device-ip: 10.10.10.1 X-agent: Mozilla/5.0 (Linux; Android 10; Redmi K30 Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.99 Mobile Safari/537.36 X-L: zh X-client-id: DRrYIqauawN0I8myTMoDTPys6ezGZxnm X-state-token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9... X-tenant-id: 08f770f51f80d2f40f38c00cb199fd21 { "mobile": "12345678901", "verify_code": "123456" }
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 X-operating-sys-version 是 String 调用方操作系统版本,例如:Android 10。 X-device-fingerprint 是 String 调用方设备指纹,例如:156aysdna213sc50。 X-device-ip 否 String 调用方IP,例如:10.10.10.1。 X-agent 是 String 用户Agent信息,例如:Mozilla/5.0 (Linux; Android 10; Redmi K30 Build/QKQ1.190825.002; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/80.0.3987.99 Mobile Safari/537.36。 X-L 否 String 用于国际化语言设置,例如:zh。 X-client-id 是 String 应用标识,注册应用后分配的ClientId。 X-state-token 是 String 用户带有状态的令牌。登录相关接口返回为二次认证场景时,会返回该state_token。 X-tenant-id 否 String 租户id,ISV应用调用则为必填,需要将{domain_name}换成ISV通用域名{common_domain},请求Header参数中需要指定对应租户的tenant_id,并将X-client-id换成ISV应用模板的client_id。 表2 请求Body参数 参数 是否必选 参数类型 描述 mobile 是 String 接收验证码的手机号。 verify_code 是 String 接收到的验证码。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 status String 登录流程状态标识。 枚举值: SUCCESS:登录成功 PASSWORD_WARN:密码快过期,需要调用密码过期强制修改密码接口设置密码 PASSWORD_EXPIRED:密码已过期,需要调用密码过期强制修改密码接口设置密码 ACCESS_DENIED:拒绝访问 MFA_AUTH:登录成功但需要进行二次认证,需要调用根据state_Token获取手机号接口、手机和短信验证码二次认证接口进行二次认证 session_token String 用户session_token,可使用该token调用单点登录接口获取sso_ticket,通过sso_ticket可以获取用户信息。 id_token String 本质上是一个JWT Token,包含了用户身份信息,默认2小时有效,支持可配置。 expire Integer session_token有效期,单位为秒,有效期内可以使用session_token获取sso_ticket。 state_token String 用户带有状态的令牌。 data String 返回说明。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误详情。
共100000条