3.8.1 创建自定义认证
操作场景
自定义认证包含两种认证:前端自定义认证和后端自定义认证。
● 前端自定义认证:如果您希望使用自己的认证系统,而不是APP认证/华为IAM认 证对API的访问进行认证鉴权时,您可以使用自定义认证,通过您自定义的函数进 行认证鉴权。
● 后端自定义认证:当不同的后端服务使用不同的认证系统时,导致您需要为不同 的认证系统定制化开发API,而APIG通过自定义认证功能,将多种认证系统集成,
简化API开发的复杂度。您只需要在APIG中创建自定义的函数认证,APIG通过此 函数对接后端认证系统,获取后端服务的访问授权。
说明
自定义认证依赖函数工作流服务。如果当前Region没有上线函数工作流服务,则不支持使用自 定义认证。
图3-31 使用自定义认证调用 API
前提条件
已在函数工作流服务中完成函数创建。
操作步骤
步骤1 登录管理控制台。
步骤2 在管理控制台左上角单击 ,选择区域。
步骤3 单击管理控制台左上角 ,然后单击“API网关 APIG”。
步骤4 在左侧选择您的API版本,单击并进入到对应版本的API开发与调用管理页面。
● “共享版”指直接创建并管理API,如涉及到费用,以API调用次数计费。
● “专享版”指在API专享版实例中创建并管理API,如涉及到费用,按实例运行时 间计费。
步骤5 在“开放API > 自定义认证”页签,单击“创建自定义认证”,弹出“创建自定义认 证”对话框。
步骤6 填写如表3-26所示信息。
表3-26 自定义认证参数
信息项 描述
认证名称 您自定义的认证名称,用于区分不同的自定义认证。
类型 ● 前端:对API的访问进行认证鉴权。
● 后端:对后端服务的访问授权。
函数地址 选择在FunctionGraph中创建的函数。
身份来源 设置用于认证的请求参数,支持添加Header参数和Query参数,其 中Header的参数名不区分大小写。
当“类型”为“前端”,且“缓存时间”不为0时,必须设置此参 数。使用缓存时,此参数将作为搜索条件来查询认证结果。
缓存时间 设置认证结果缓存的时间。
值为0时代表不缓存,最大支持3600秒。
信息项 描述
是否发送body 指是否将API请求的body体内容传递给认证函数。body体内容传给 函数的方式,与header、query内容传递一致。
说明“是否发送body”仅在专享版API网关中支持。
用户数据 您自定义的请求参数,APIG调用函数时,与“身份来源”一同作为 请求参数。
步骤7 单击“创建”,完成自定义认证的创建。
----结束
3.8.2 删除自定义认证
操作场景
当自定义的认证已不再需要时,可以删除自定义认证。
说明
● 自定义认证依赖函数工作流服务。如果当前Region没有上线函数工作流服务,则不支持使用 自定义认证。
● 已在API中使用的自定义认证无法被删除。
前提条件
已创建自定义认证。
操作步骤
步骤1 登录管理控制台。
步骤2 在管理控制台左上角单击 ,选择区域。
步骤3 单击管理控制台左上角 ,然后单击“API网关 APIG”。
步骤4 在左侧选择您的API版本,单击并进入到对应版本的API开发与调用管理页面。
● “共享版”指直接创建并管理API,如涉及到费用,以API调用次数计费。
● “专享版”指在API专享版实例中创建并管理API,如涉及到费用,按实例运行时 间计费。
步骤5 在“开放API > 自定义认证”页签,在待删除的自定义认证所在行,单击“删除”,弹 出对话框。
步骤6 单击“确定”。
----结束