华为云用户手册

  • 请求参数 表1 FormData参数 参数 是否必选 参数类型 描述 code 是 String 授权码,认证登录获取授权码接口返回的授权码。 client_id 是 String 应用标识,注册应用后,分配的ClientId。 client_secret 是 String 应用密钥,注册应用后,分配的ClientSecret。 grant_type 是 String 授权类型,固定值:authorization_code。 redirect_uri 否 String 回调地址,地址可以是注册应用时填写的回调地址,也可以是注册应用时填写的回调地址的 域名 。若传入,则需要与调用认证登录获取授权码接口的入参redirect_url保持一致。
  • 请求示例 获取AccessToken,后续使用该token获取用户信息。code使用认证登录获取授权码接口返回的授权码z2D...,client_id和client_secert使用注册应用时分配的ClientId和ClientSecret,redirect_uri配置为应用的回调地址https://example.com,grant_type为固定值authorization_code。 POST https://{domain_name}/api/v1/oauth2/token Content-Type: application/x-www-form-urlencoded code=z2D...& client_id=NzZeWuiJa91dPSRdZQChMazIh13AW...& client_secret=NzZeWuiJa91dPSRdZQChMazIh13AW...& redirect_uri=https://example.com& grant_type=authorization_code
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 access_token String 授权服务器返回给第三方应用的访问令牌。 token_type String 访问令牌类型。固定值:Bearer。 expires_in Long 访问令牌的有效期,以秒为单位。 scope String 授权范围。 refresh_token String 刷新令牌。默认不生成refresh_token,如果需要,在应用的“认证配置”中设置“Refresh Token有效期”后生成返回。 状态码: 400 表3 响应Body参数 参数 参数类型 描述 error String 错误类型。 error_description String 错误描述。
  • 响应示例 状态码: 200 请求成功。 { "access_token" : "NqM******d3k", "token_type" : "Bearer", "expires_in" : "7200", "scope" : "get_user_info", "refresh_token" : "42e******w24" } 状态码: 400 请求错误。 { "error" : "invalid_grant", "error_description" : "Invalid authorization code" }
  • 响应示例 状态码: 200 请求成功。 { "id" : "20201029190841785-CB37-8BD36B...", "name" : "test", "userName" : "test", "mobile" : "12345678901", "email" : "123@example.com" } 状态码: 401 认证失败。 { "error" : "unauthorized", "error_description" : "Full authentication is required to access this resource" }
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 id String 用户ID userName String 用户名 name String 姓名 email String 邮箱地址 mobile String 手机号 状态码: 401 表3 响应Body参数 参数 参数类型 描述 error String 错误类型。 error_description String 错误描述。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 org_id String 组织id。 org_code String 组织编号,全局唯一。 name String 组织名称,所在层级下唯一。 parent_id String 父组织id。 category String 组织类型。 状态码: 400 表4 响应Body参数 参数 参数类型 描述 error_code String 错误编号。 error_msg String 错误详情。
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 user_name String 用户名 name String 姓名 head_img String 头像(url) email String 邮箱 mobile String 手机号 attr_gender String 性别。可选值有: female:女性; male:男性; unknow:保密 attr_birthday String 生日。格式为: yyyy-MM-dd attr_nick_name String 昵称 first_name String 名字 middle_name String 中间名 last_name String 姓氏 extension String 扩展属性 状态码: 400 表3 响应Body参数 参数 参数类型 描述 error_code String 错误码。 error_msg String 错误详情。
  • 响应示例 状态码: 200 请求成功。 { "user_name": "zhangsan", "name": "张三", "head_img": "https://thirdwx.qlogo.cn/mmopen/vi_32/Q0j4TwGTfTIQ8QOTSn3y4cYHLlMC3sv6RCBmeMkxtOog47Zr3v2Afbqc2bmP0WibUIUskX39eJlJAEbAibXs", "email": "12345678901@example.com”, "mobile": "12345678901" "attr_gender":"male", "attr_birthday": "2022-02-17", "attr_nick_name": "张三", "first_name": "zhangsan", "middle_name": "zhangsan", "last_name": "zhangsan", "extension": { "age":"18" } }
  • 请求参数 表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-signature 是 String 加密数据为session_token=xxx×tamp=xxx&nonce=xxx,其中:session_token为会话凭证,timestamp表示当前时间戳,nonce表示当前时间戳的16进制,加密方式为RSA公钥加密。当前时间戳可调用获取服务器时间接口获取,加密公钥可调用获取公钥接口获取。 X-tenant-id 否 String 租户id,ISV应用调用则为必填,需要将{domain_name}换成ISV通用域名{common_domain},请求Header参数中需要指定对应租户的tenant_id,并将X-client-id换成ISV应用模板的client_id。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 total Integer 总数。 accounts Array of Accounts objects 应用账号列表。 表4 Accounts 参数 参数类型 描述 id String 应用账号id。 application_id String 应用id。 account_name String 应用账号名。 account_type String 应用账号类型。 name String 应用账号名称。 extension Object 自定义扩展属性。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误编号。 error_msg String 错误详情。
  • 响应示例 状态码: 200 请求成功。 { "total" : 1, "accounts" : [ { "id" : "20210621095952398-57D5-B75A129DB", "account_name" : "Test01", "account_type" : "BASIC_ACCOUNT", "application_id" : "20210621095843929-CC99-9E7B3BC1F", "name" : "test", "extension" : { } } ] }
  • 请求示例 退出登录。 GET https://{domain_name}/api/v2/sdk/logout 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-signature:D0JeOUuVqU8Ixvl0xrmewQRk4AuGZrtk1RfBxueNKUrNPpgSbXrYnzw... X-tenant-id: 08f770f51f80d2f40f38c00cb199fd21
  • 请求参数 表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-signature 是 String 加密数据为session_token=xxx×tamp=xxx&nonce=xxx,其中:session_token为会话凭证,timestamp表示当前时间戳,nonce表示当前时间戳的16进制,加密方式为RSA公钥加密。当前时间戳可调用获取服务器时间接口获取,加密公钥可调用获取公钥接口获取。 X-tenant-id 否 String 租户id,ISV应用调用则为必填,需要将{domain_name}换成ISV通用域名{common_domain},请求Header参数中需要指定对应租户的tenant_id,并将X-client-id换成ISV应用模板的client_id。
  • 请求示例 以分页形式查询组织列表,返回除了根组织外,其他所有子组织列表信息的前100条,不满100条时,则返回实际数量的信息结果。 GET https://{domain_name}/api/v2/tenant/organizations?org_id=&all_child=true&offset=0&limit=100 Authorization: Bearer 334963fc-1e4a-473b-9096-52a929140...
  • URI GET /api/v2/tenant/organizations 表1 Query参数 参数 是否必选 参数类型 描述 all_child 否 Boolean 是否获取所有层级子组织。 缺省值:false limit 是 Integer 每页多少条。 最小值:10 最大值:100 offset 是 Integer 第几页。 最小值:0 org_id 否 String 组织id。 当org_id=空,all_child=false,返回所有根组织(最高层级的组织)列表信息; 当org_id=空,all_child=true,返回除了根组织外,其他所有子组织列表信息; 当org_id=orgId,all_child=true,返回该组织以及该组织下所有层级子组织列表信息; 当org_id=orgId,all_child=false,返回该组织以及该组织的下一级组织列表信息。
  • 响应示例 状态码: 200 请求成功。 { "total" : 2, "organizations" : [ { "org_code" : "1000000", "org_id" : "20210619175242949-6040-CA7ECF...", "name" : "总部", "category" : "department", "parent_id" : null }, { "org_code" : "1000001", "org_id" : "20210623103509267-6ABA-201FFC...", "name" : "子部门", "category" : "department", "parent_id" : "20210619175242949-6040-CA7ECF..." } ] }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 total Long 组织总数。 organizations Array of ResponseOrgInfo objects 组织列表。 表4 ResponseOrgInfo 参数 参数类型 描述 org_id String 组织id。 org_code String 组织编号,全局唯一。 name String 组织名称,所在层级下唯一。 parent_id String 父组织id。 category String 组织类型。 状态码: 400 表5 响应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-state-token 是 String 临时令牌。当认证源配置为绑定时,用于社交账号绑定手机号操作,需要传入对应的state_token,绑定成功返回用户session_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 接收到的验证码。
  • 请求示例 社交账号注册并绑定手机号。手机号为12345678901,收到的验证码为123456。 POST https://{domain_name}/api/v2/sdk/social/register-bind 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" }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 status String 登录流程状态标识,返回SUC CES S表示登录成功。 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 错误详情。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 user_id String 用户id。 org_id String 用户所属组织。 user_name String 用户名。 name String 姓名。 mobile String 手机号。 email String 邮箱。 pwd_must_modify Boolean 首次登录是否强制修改密码。 pwd_change_at String 密码修改时间 created_at String 创建时间。 updated_at String 最后一次修改时间。 disabled Boolean 是否禁用。 grade Integer 可信等级。 locked String 是否锁定。 extension Object 自定义扩展属性。 user_org_relation_list Array of UserOrgRelationListResult objects 用户组织关系集合。 表4 UserOrgRelationListResult 参数 参数类型 描述 org_id String 组织id。 relation_type String 关系类型。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误编号。 error_msg String 错误详情。
  • 响应示例 状态码: 200 请求成功。 { "user_id" : "20220413165737132-3BA0-91FCA2CB7", "org_id" : "20220117125622909-9346-35755733F", "user_name" : "zhangsan", "name" : "zhangsan", "mobile" : "12345678901", "email" : "zhangsan@example.com", "pwd_must_modify" : true, "pwd_change_at" : "2022-04-14 10:14:01.988", "created_at" : "2022-04-13 16:57:36.532", "updated_at" : "2022-04-14 10:14:01.979", "disabled" : false, "grade" : 1, "locked" : false, "extension" : { }, "user_org_relation_list" : [ { "org_id" : "20220117125622909-9346-35755733F", "relation_type" : 1 }, { "org_id" : "20220415103506608-AF59-5CC9081B9", "relation_type" : 0 } ] }
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 Authorization 是 String 认证凭据,值:Bearer {access_token},access_token通过“获取访问凭据”接口获取。 表2 请求Body参数 参数 是否必选 参数类型 描述 user_name 是 String 用户名称。
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 status String 登录流程状态标识,返回SUCCESS表示登录成功。 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/social/bind 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,绑定成功返回用户session_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 接收到的验证码。
  • 请求示例 创建组织,组织名子部门,组织编码1000001,父组织编码20210623103509267-6ABA-201FFC...,组织类型部门。 POST https://{domain_name}/api/v2/tenant/organizations Authorization: Bearer 334963fc-1e4a-473b-9096-52a929140... { "code": "1000001", "name": "子部门", "parent_id": "20210623103509267-6ABA-201FFC...", "category": "department" }
  • 请求参数 表1 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 该字段内容填为“application/json;charset=utf8”。 Authorization 是 String 认证凭据,值:Bearer {access_token},access_token通过“获取访问凭据”接口获取。 表2 请求Body参数 参数 是否必选 参数类型 描述 code 是 String 组织编码,可输入中英文、数字、下划线和中划线。 最大长度:64 name 是 String 组织名称,所在层级下唯一,可输入中英文、数字、空格、中划线、下划线和&。 最大长度:100 parent_id 否 String 父组织id。创建父组织,不需要传递;创建子组织,需要传递。 category 否 String 组织类型。 缺省值:department:部门 枚举值: department:部门 company:公司 unit:科 group:组
  • URI GET /api/v1/oauth2/authorize 表1 Query参数 参数 是否必选 参数类型 描述 response_type 是 String 授权类型,固定值:code。 client_id 是 String 应用标识,注册应用后,分配的ClientId。 scope 否 String 授权范围 ,固定值:get_user_info。 redirect_uri 否 String 成功授权后的回调地址,地址可以是注册应用时填写的回调地址,也可以是注册应用时填写的回调地址的域名,建议配置为应用的首页或者应用的用户中心。注意需要对uri进行URLEncode处理。 state 否 String 应用的状态值。可用于防止 CS RF攻击,成功授权后回调应用时会原样带回,应用用它校验认证请求与回调请求的对应关系。可以包含字母和数字。
共100000条