创建自定义认证 - CreateCustomAuthorizerV2
功能介绍
创建自定义认证
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。
URI
POST /v2/{project_id}/apic/instances/{instance_id}/authorizers
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
project_id | 是 | String | 项目ID,获取方式请参见API参考的“附录 > 获取项目ID”章节。 |
instance_id | 是 | String | 实例ID |
请求参数
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
X-Auth-Token | 是 | String | 用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 | 是否必选 | 参数类型 | 描述 |
|---|---|---|---|
name | 是 | String | 自定义认证的名称。 长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、“_”组成,且只能以英文或中文开头。 |
type | 是 | String | 自定义认证类型
|
authorizer_type | 是 | String | 自定义认证函数类型:
|
authorizer_uri | 是 | String | 函数地址。 注意:使用自定义后端的函数API,API请求方法必须为POST,且API状态必须为已部署。 |
network_type | 否 | String | 对接函数的网络架构类型
注意:该字段在APIC场景下不生效 |
authorizer_version | 否 | String | 函数版本。 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN |
authorizer_alias_uri | 否 | String | 函数别名地址。 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN |
identities | 否 | Array of Identity objects | 认证来源 |
ttl | 否 | Integer | 缓存时间 |
user_data | 否 | String | 用户数据 |
ld_api_id | 否 | String | 自定义后端服务ID。 自定义认证函数类型为LD时必填 |
need_body | 否 | Boolean | 是否发送body |
auth_downgrade_enabled | 否 | Boolean | 宽松模式,连接函数鉴权服务失败或者函数鉴权服务返回5XX,网关是否接受客户端请求。 |
响应参数
状态码:201
参数 | 参数类型 | 描述 |
|---|---|---|
name | String | 自定义认证的名称。 长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、“_”组成,且只能以英文或中文开头。 |
type | String | 自定义认证类型
|
authorizer_type | String | 自定义认证函数类型:
|
authorizer_uri | String | 函数地址。 注意:使用自定义后端的函数API,API请求方法必须为POST,且API状态必须为已部署。 |
network_type | String | 对接函数的网络架构类型
注意:该字段在APIC场景下不生效 |
authorizer_version | String | 函数版本。 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN |
authorizer_alias_uri | String | 函数别名地址。 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN |
identities | Array of Identity objects | 认证来源 |
ttl | Integer | 缓存时间 |
user_data | String | 用户数据 |
ld_api_id | String | 自定义后端服务ID。 自定义认证函数类型为LD时必填 |
need_body | Boolean | 是否发送body |
auth_downgrade_enabled | Boolean | 宽松模式,连接函数鉴权服务失败或者函数鉴权服务返回5XX,网关是否接受客户端请求。 |
id | String | 自定义认证编号 |
create_time | String | 创建时间 |
roma_app_id | String | 自定义认证所属应用编号 |
roma_app_name | String | 自定义认证所属应用名称 |
参数 | 参数类型 | 描述 |
|---|---|---|
name | String | 参数名称。 支持数字,英文,下划线,中划线,点,且只能以数字或英文开头。 |
location | String | 参数位置 |
validation | String | 参数校验表达式,默认为null,不做校验 |
状态码: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 | 错误描述 |
请求示例
创建一个自定义认证,认证类型为前端认证,函数类型为自定义后端函数,认证来源使用Header参数
{
"name" : "Authorizer_demo",
"type" : "FRONTEND",
"authorizer_type" : "LD",
"ld_api_id" : "6f8e61317e4e4fbf8e8220cc19fcced9",
"authorizer_uri" : "/test",
"network_type" : "",
"authorizer_version" : "",
"authorizer_alias_uri" : "",
"identities" : [ {
"name" : "header",
"location" : "HEADER"
} ],
"ttl" : 5
} 响应示例
状态码:201
Created
{
"name" : "Authorizer_demo",
"type" : "FRONTEND",
"authorizer_type" : "LD",
"authorizer_uri" : "/test",
"network_type" : "",
"authorizer_version" : "",
"authorizer_alias_uri" : "",
"identities" : [ {
"name" : "header",
"location" : "HEADER"
} ],
"ttl" : 5,
"id" : "0d982c1ac3da493dae47627b6439fc5c",
"create_time" : "2020-09-23T02:32:10.354159293Z",
"need_body" : true
} 状态码:400
Bad Request
{
"error_code" : "APIG.2011",
"error_msg" : "Invalid parameter value,parameterName:type. 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.3019",
"error_msg" : "The function URN 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 |
错误码
请参见错误码。

