创建自定义认证
功能介绍
创建自定义认证
调用方法
请参见如何调用API。
URI
POST /v2/{project_id}/apigw/instances/{instance_id}/authorizers
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
项目ID,获取方式请参见获取项目ID。 |
instance_id |
是 |
String |
实例ID,在API网关控制台的“实例信息”中获取。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
String |
用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
name |
是 |
String |
自定义认证的名称。 长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、“_”组成,且只能以英文或中文开头。 |
type |
是 |
String |
自定义认证类型
不支持修改 枚举值:
|
authorizer_type |
是 |
String |
只能为:FUNC 枚举值:
|
authorizer_uri |
是 |
String |
函数地址。 |
network_type |
否 |
String |
对接函数的网络架构类型
缺省值:V1 枚举值:
|
authorizer_version |
否 |
String |
函数版本。 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN 最大长度:64 |
authorizer_alias_uri |
否 |
String |
函数别名地址。 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN |
identities |
否 |
Array of Identity objects |
认证来源 |
ttl |
否 |
Integer |
缓存时间 |
user_data |
否 |
String |
用户数据 |
ld_api_id |
否 |
String |
自定义后端服务ID。 暂不支持 |
need_body |
否 |
Boolean |
是否发送body |
响应参数
状态码: 201
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
自定义认证的名称。 长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、“_”组成,且只能以英文或中文开头。 |
type |
String |
自定义认证类型
不支持修改 枚举值:
|
authorizer_type |
String |
只能为:FUNC 枚举值:
|
authorizer_uri |
String |
函数地址。 |
network_type |
String |
对接函数的网络架构类型
缺省值:V1 枚举值:
|
authorizer_version |
String |
函数版本。 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN 最大长度:64 |
authorizer_alias_uri |
String |
函数别名地址。 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN |
identities |
Array of Identity objects |
认证来源 |
ttl |
Integer |
缓存时间 |
user_data |
String |
用户数据 |
ld_api_id |
String |
自定义后端服务ID。 暂不支持 |
need_body |
Boolean |
是否发送body |
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 |
错误描述 |
请求示例
创建一个前端自定义认证
{ "name" : "Authorizer_demo", "type" : "FRONTEND", "authorizer_type" : "FUNC", "authorizer_uri" : "urn:fss:xx-xxx:106506b9a92342df9a5025fc12351cfc:function:defau:apigDemo_1592617458814", "network_type" : "V1", "authorizer_version" : "v1", "authorizer_alias_uri" : "urn:fss:xx-xxx-4:106506b9a92342df9a5025fc12351cfc:function:defau:apigDemo_1592617458814:!v1", "identities" : [ { "name" : "header", "location" : "HEADER" } ], "user_data" : "authorizer_test" }
响应示例
状态码: 201
Created
{ "name" : "Authorizer_demo", "type" : "FRONTEND", "authorizer_type" : "FUNC", "authorizer_uri" : "urn:fss:xx-xxx-4:106506b9a92342df9a5025fc12351cfc:function:defau:apigDemo_1592617458814", "network_type" : "V1", "authorizer_version" : "v1", "authorizer_alias_uri" : "urn:fss:xx-xxx-4:106506b9a92342df9a5025fc12351cfc:function:defau:apigDemo_1592617458814:!v1", "identities" : [ { "name" : "header", "location" : "HEADER" } ], "ttl" : 0, "user_data" : "authorizer_test", "id" : "0d982c1ac3da493dae47627b6439fc5c", "create_time" : "2020-07-31T11:55:43Z" }
状态码: 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 |
错误码
请参见错误码。