更新时间:2023-04-21 GMT+08:00

创建自定义认证

操作场景

自定义认证包含两种认证:前端自定义认证和后端自定义认证。

  • 前端自定义认证:如果您希望使用自己的认证系统,而不是APP认证/华为IAM认证对API的访问进行认证鉴权时,您可以使用自定义认证,通过您自定义的函数进行认证鉴权。
  • 后端自定义认证:当不同的后端服务使用不同的认证系统时,导致您需要为不同的认证系统定制化开发API,而APIG通过自定义认证功能,将多种认证系统集成,简化API开发的复杂度。您只需要在APIG中创建自定义的函数认证,APIG通过此函数对接后端认证系统,获取后端服务的访问授权。

自定义认证依赖函数工作流服务。如果当前Region没有上线函数工作流服务,则不支持使用自定义认证。

自定义认证的具体使用指导,可参考《API网关开发指南》的自定义认证相关章节。

使用自定义认证调用API的流程如下图所示:

图1 通过自定义认证调用API

前提条件

  • 已在函数工作流服务中完成函数创建。
  • 用户还需具备FunctionGraph Administrator角色权限。

操作步骤

  1. 登录管理控制台。
  2. 在管理控制台左上角单击,选择区域。
  3. 单击管理控制台左上角,然后单击“API网关 APIG”。
  4. 在左侧选择您的API版本,单击并进入到对应版本的API开发与调用管理页面。

    • “共享版”指直接创建并管理API,如涉及到费用,以API调用次数计费。
    • “专享版”指在API专享版实例中创建并管理API,如涉及到费用,按实例运行时间计费。

  5. 在“开放API > 自定义认证”页签,单击“创建自定义认证”,弹出“创建自定义认证”对话框。
  6. 填写如表1所示信息。

    表1 自定义认证参数

    信息项

    描述

    认证名称

    您自定义的认证名称,用于区分不同的自定义认证。

    类型

    • 前端:对API的访问进行认证鉴权。
    • 后端:对后端服务的访问授权。

    函数地址

    选择在FunctionGraph中创建的函数。

    身份来源

    设置用于认证的请求参数,支持添加Header参数和Query参数,其中Header的参数名不区分大小写。

    当“类型”为“前端”,且“缓存时间”不为0时,必须设置此参数。使用缓存时,此参数将作为搜索条件来查询认证结果。

    缓存时间

    设置认证结果缓存的时间。

    值为0时代表不缓存,最大支持3600秒。

    是否发送body

    指是否将API请求的body体内容传递给认证函数。body体内容传给函数的方式,与header、query内容传递一致。

    说明:

    “是否发送body”仅在专享版API网关中支持。

    用户数据

    您自定义的请求参数,APIG调用函数时,与“身份来源”一同作为请求参数。

  7. 单击“创建”,完成自定义认证的创建。