APP授权
功能介绍
APP创建成功后,还不能访问API,如果想要访问某个环境上的API,需要将该API在该环境上授权给APP。授权成功后,APP即可访问该环境上的这个API。
URI
POST /v1/{project_id}/apic/instances/{instance_id}/app-auths
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| project_id | 是 | String | 项目ID,获取方式请参见API参考的“附录 > 获取项目ID”章节。 |
| instance_id | 是 | String | 实例ID |
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| X-Auth-Token | 是 | String | 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
| 参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
| env_id | 是 | String | 需要授权的环境编号 |
| app_ids | 是 | Array of strings | APP的编号列表 |
| api_ids | 是 | Array of strings | API的编号列表。 |
| auth_tunnel | 否 | String | 授权通道类型:
实例开启green_tunnel特性时可以开启绿色通道,此字段不填默认为不使用绿色通道 |
| auth_whitelist | 否 | Array of strings | 绿色通道授权白名单。 允许白名单中的IP不使用认证信息访问,auth_tunnel = GREEN时生效 |
| auth_blacklist | 否 | Array of strings | 绿色通道授权黑名单。 auth_tunnel = GREEN时生效 |
| visit_params | 否 | Array of ApiAuthVisitParam objects | 访问参数列表。 |
响应参数
状态码: 201
| 参数 | 参数类型 | 描述 |
|---|---|---|
| [数组元素] | Array of ApiAuthRelations objects | API与APP的授权关系列表 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| api_id | String | API编号 |
| auth_result | AuthResult object | 授权结果 |
| auth_time | String | 授权时间 |
| id | String | 授权关系编号 |
| app_id | String | APP编号 |
| auth_role | String | 授权者
|
| auth_tunnel | String | 授权通道类型:
此字段不填默认为不使用绿色通道 |
| auth_whitelist | Array of strings | 绿色通道授权白名单。 允许白名单中的IP不使用认证信息访问 |
| auth_blacklist | Array of strings | 绿色通道授权黑名单 |
| visit_params | String | 访问参数。 |
| 参数 | 参数类型 | 描述 |
|---|---|---|
| status | String | 授权结果
|
| error_msg | String | 授权失败错误信息 |
| error_code | String | 授权失败错误码 |
| api_name | String | 授权失败的API名称 |
| app_name | String | 授权失败的APP名称 |
状态码: 400
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码 |
| error_msg | String | 错误描述 |
状态码: 401
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码 |
| error_msg | String | 错误描述 |
状态码: 403
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码 |
| error_msg | String | 错误描述 |
状态码: 404
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码 |
| error_msg | String | 错误描述 |
状态码: 500
| 参数 | 参数类型 | 描述 |
|---|---|---|
| error_code | String | 错误码 |
| error_msg | String | 错误描述 |
请求示例
{
"env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID",
"app_ids" : [ "356de8eb7a8742168586e5daf5339965" ],
"api_ids" : [ "5f918d104dc84480a75166ba99efff21" ]
} 响应示例
状态码: 201
Created
[ {
"api_id" : "5f918d104dc84480a75166ba99efff21",
"auth_result" : {
"status" : "SUCCESS"
},
"auth_time" : "22020-08-04T04:02:22.482227344Z",
"id" : "dd29b33ae4394e3b924b582c6b40880b",
"app_id" : "356de8eb7a8742168586e5daf5339965",
"auth_role" : "PROVIDER",
"auth_tunnel" : "NORMAL"
} ] 状态码: 400
Bad Request
{
"error_code" : "APIG.2011",
"error_msg" : "Invalid parameter value,parameterName:api_ids. Please refer to the support documentation"
} 状态码: 401
Unauthorized
{
"error_code" : "APIG.1002",
"error_msg" : "Incorrect token or token resolution failed"
} 状态码: 403
Forbidden
{
"error_code" : "APIG.1005",
"error_msg" : "No permissions to request this method"
} 状态码: 404
Not Found
{
"error_code" : "APIG.3004",
"error_msg" : "App 356de8eb7a8742168586e5daf5339965 does not exist"
} 状态码: 500
Internal Server Error
{
"error_code" : "APIG.9999",
"error_msg" : "System error"
} 状态码
| 状态码 | 描述 |
|---|---|
| 201 | Created |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
| 500 | Internal Server Error |
错误码
请参见错误码。