APP授权
功能介绍
APP创建成功后,还不能访问API,如果想要访问某个环境上的API,需要将该API在该环境上授权给APP。授权成功后,APP即可访问该环境上的这个API。
调用方法
请参见如何调用API。
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/app-auths
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,获取方式请参见获取项目ID。 |
instance_id |
是 |
String |
实例ID,在API网关控制台的“实例信息”中获取。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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的编号列表。 |
响应参数
状态码: 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 |
授权通道类型
暂不支持,默认NORMAL 枚举值:
|
auth_whitelist |
Array of strings |
绿色通道的白名单配置 |
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 |
错误描述 |
请求示例
APP授权,将APP与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" : "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 |
错误码
请参见错误码。