更新时间:2024-07-03 GMT+08:00
分享

修改自定义认证

功能介绍

修改自定义认证

URI

PUT /v1/{project_id}/apic/instances/{instance_id}/authorizers/{authorizer_id}

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID,获取方式请参见API参考的“附录 > 获取项目ID”章节。

instance_id

String

实例ID

authorizer_id

String

自定义认证的编号

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。

表3 请求Body参数

参数

是否必选

参数类型

描述

name

String

自定义认证的名称。 长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、“_”组成,且只能以英文或中文开头。

type

String

自定义认证类型

  • FRONTEND:前端

  • BACKEND:后端

authorizer_type

String

自定义认证函数类型:

  • LD:自定义后端函数

  • FUNC:函数服务函数

authorizer_uri

String

函数地址。

注意:使用自定义后端的函数API,API请求方法必须为POST,且API状态必须为已部署。

network_type

String

对接函数的网络架构类型

  • V1:非VPC网络架构

  • V2:VPC网络架构 注意:该字段在APIC场景下不生效

缺省值: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。

自定义认证函数类型为LD时必填

need_body

Boolean

是否发送body

auth_downgrade_enabled

Boolean

宽松模式,连接函数鉴权服务失败或者函数鉴权服务返回5XX,网关是否接受客户端请求。

缺省值:false

表4 Identity

参数

是否必选

参数类型

描述

name

String

参数名称。

支持数字,英文,下划线,中划线,点,且只能以数字或英文开头。

最小长度:0

最大长度:32

location

String

参数位置

validation

String

参数校验表达式,默认为null,不做校验

最大长度:1024

响应参数

状态码: 200

表5 响应Body参数

参数

参数类型

描述

name

String

自定义认证的名称。 长度为3 ~ 64位的字符串,字符串由中文、英文字母、数字、“_”组成,且只能以英文或中文开头。

type

String

自定义认证类型

  • FRONTEND:前端

  • BACKEND:后端

authorizer_type

String

自定义认证函数类型:

  • LD:自定义后端函数

  • FUNC:函数服务函数

authorizer_uri

String

函数地址。

注意:使用自定义后端的函数API,API请求方法必须为POST,且API状态必须为已部署。

network_type

String

对接函数的网络架构类型

  • V1:非VPC网络架构

  • V2:VPC网络架构 注意:该字段在APIC场景下不生效

缺省值: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。

自定义认证函数类型为LD时必填

need_body

Boolean

是否发送body

auth_downgrade_enabled

Boolean

宽松模式,连接函数鉴权服务失败或者函数鉴权服务返回5XX,网关是否接受客户端请求。

缺省值:false

id

String

自定义认证编号

create_time

String

创建时间

roma_app_id

String

自定义认证所属应用编号

roma_app_name

String

自定义认证所属应用名称

表6 Identity

参数

参数类型

描述

name

String

参数名称。

支持数字,英文,下划线,中划线,点,且只能以数字或英文开头。

最小长度:0

最大长度:32

location

String

参数位置

validation

String

参数校验表达式,默认为null,不做校验

最大长度:1024

状态码: 401

表7 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 403

表8 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 404

表9 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

状态码: 500

表10 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_msg

String

错误描述

请求示例

{
  "name" : "Authorizer_demo",
  "type" : "FRONTEND",
  "authorizer_type" : "LD",
  "ld_api_id" : "6f8e61317e4e4fbf8e8220cc19fcced9",
  "authorizer_uri" : "/test",
  "identities" : [ {
    "name" : "header",
    "location" : "HEADER"
  } ],
  "ttl" : 5
}

响应示例

状态码: 200

OK

{
  "name" : "Authorizer_demo",
  "type" : "FRONTEND",
  "authorizer_type" : "LD",
  "authorizer_uri" : "/test",
  "identities" : [ {
    "name" : "header",
    "location" : "HEADER"
  } ],
  "ttl" : 5,
  "need_body" : true,
  "id" : "0d982c1ac3da493dae47627b6439fc5c",
  "create_time" : "2020-09-23T02:32:10Z",
  "roma_app_id" : "98df09fb-d459-4cbf-83a7-2b55ca6f3d5d",
  "roma_app_name" : "app-demo"
}

状态码: 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.3081",
  "error_msg" : "authorizer with id: 0d982c1ac3da493dae47627b6439fc5c not found"
}

状态码: 500

Internal Server Error

{
  "error_code" : "APIG.9999",
  "error_msg" : "System error"
}

状态码

状态码

描述

200

OK

401

Unauthorized

403

Forbidden

404

Not Found

500

Internal Server Error

错误码

请参见错误码

相关文档