凭据授权 - CreateAuthorizingAppsV2
功能介绍
APP创建成功后,还不能访问API,如果想要访问某个环境上的API,需要将该API在该环境上授权给APP。授权成功后,APP即可访问该环境上的这个API。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
URI
POST /v2/{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
|
参数 |
参数类型 |
描述 |
|---|---|---|
|
auths |
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 |
错误描述 |
请求示例
为发布在指定环境上的API配置授权的集成应用
{
"env_id" : "DEFAULT_ENVIRONMENT_RELEASE_ID",
"app_ids" : [ "356de8eb7a8742168586e5daf5339965" ],
"api_ids" : [ "5f918d104dc84480a75166ba99efff21" ]
}
响应示例
状态码:201
Created
{
"auths" : [ {
"api_id" : "5f918d104dc84480a75166ba99efff21",
"auth_result" : {
"status" : "SUCCESS"
},
"auth_time" : "2020-08-04T04:02:22.482227344Z",
"id" : "dd29b33ae4394e3b924b582c6b40880b",
"app_id" : "356de8eb7a8742168586e5daf5339965",
"auth_role" : "PROVIDER",
"auth_tunnel" : "NORMAL",
"auth_whitelist" : [ ],
"auth_blacklist" : [ ]
} ]
}
状态码: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 |
错误码
请参见错误码。