检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
"abc" } } “statusCode”字段为必选,函数服务正常且自定义认证函数代码符合规范时,statusCode的值则为自定义认证函数的响应码。 调用自定义认证的API,当自定义认证函数的响应码为非200时,API网关认为函数服务异常,并返回错误码“500”,错误信息为“Internal
在FunctionGraph中开发函数。 下面以python2.7为例,函数代码需要满足如下条件: 函数代码只支持您自定义的用户数据,且它的格式为:event["user_data"]。 函数代码获取的请求参数与API网关自定义认证中的参数关系为:函数请求参数中的自定义用户数据对应A
调用API,观察是否成功返回函数的context信息。 编写自定义认证函数 在函数工作流的控制台编写函数,自定义认证的代码编写指南参见创建用于前端自定义认证的函数。 根据下表参数说明,在函数工作流页面创建一个函数。 表1 函数信息配置 参数 配置说明 选择创建方式 默认“创建空白函数”。 函数类型 默认“事件函数”。
FunctionGraph:把后端服务请求转发给指定函数。 函数URN:函数请求的唯一标识。单击“添加”,添加作为后端服务的函数URN。 函数名:选择函数URN后自动配置。 版本或别名:选择要使用的函数版本。 调用类型:选择函数的调用类型。 Synchronous:表示同步调用,后端函数服务收到调用请求后立即
{"x-stage": "RELEASE"}, "body") 进行签名,执行此函数会在请求参数中添加用于签名的X-Sdk-Date头和Authorization头。 X-Sdk-Date是一个必须参与签名的请求消息头参数。
后端认证需要先添加一个自定义认证,自定义认证通过函数服务实现,在函数服务中编写一个函数,实现您的认证鉴权流程,或者使用函数调用您的统一鉴权服务。 说明: 后端认证依赖函数服务,此功能仅在部分区域开放。 表5 FunctionGraph类型定义后端服务 参数 说明 函数名 添加函数后,函数名自动生成。 函数URN 函数请求唯一标识。
当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN 最大长度:64 alias_urn String 函数别名URN 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN timeout Integer API网关请求后端服务的超时时间。函数网
后端认证需要先添加一个自定义认证,自定义认证通过函数服务实现,在函数服务中编写一个函数,实现您的认证鉴权流程,或者使用函数调用您的统一鉴权服务。 说明: 后端认证依赖函数服务,此功能仅在部分区域开放。 表5 FunctionGraph类型定义后端服务 参数 说明 函数名 添加函数后,函数名自动生成。 函数URN 函数请求唯一标识。
通过您自定义的函数进行认证鉴权。 后端自定义认证:当不同的后端服务使用不同的认证系统时,导致您需要为不同的认证系统定制化开发API,而APIG通过自定义认证功能,将多种认证系统集成,简化API开发的复杂度。您只需要在APIG中创建自定义的函数认证,APIG通过此函数对接后端认证系统,获取后端服务的访问授权。
进入FunctionGraph控制台。 在左侧导航栏中选择“函数 > 函数列表”。 单击“创建函数”,根据下表参数说明,创建一个函数。 表1 配置函数 参数 说明 选择创建方式 默认“创建空白函数”。 函数类型 选择函数的类型,此处默认“事件函数”。 区域 选择与API网关相同区域。 项目 华
当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN 最大长度:64 alias_urn String 函数别名URN 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN timeout Integer API网关请求后端服务的超时时间。函数网
断路器策略是API网关在后端服务出现性能问题时保护系统的机制,支持通过熔断降级的方式保护后端服务。 身份认证策略支持通过AKSK、Token等多种方式进行服务认证,支持用户通过函数自定义API访问认证逻辑,支持对后端服务进行证书校验,支持签名密钥用于后端服务验证API网关的身份。 VPC通道(负载通道) 在API网关
运行质量保证 API网关作为华为云所有云服务OpenAPI的托管平台,可靠性、稳定性有保证,帮助企业完善质量流程体系。 支持函数直接调用 与函数工作流服务无缝对接,支持将函数工作流服务以API形式开放使用。 可视化API监控面板 帮助您监控API调用性能指标、数据延迟以及错误等信息,识别可能影响业务的潜在风险。
当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN 最大长度:64 alias_urn String 函数别名URN 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN timeout Integer API网关请求后端服务的超时时间。函数网
自定义认证依赖函数服务。如果当前Region没有上线函数服务,则不支持使用自定义认证。 创建用于后端自定义认证的函数 进入FunctionGraph控制台。 在左侧导航栏中选择“函数 > 函数列表”。 单击“创建函数”,根据下表参数说明,创建一个函数。 表1 配置函数 参数 说明 选择创建方式
前提条件 已创建自定义认证函数,如果未创建请创建函数章节创建,并且在函数的返回值中已设置context字段,字段中包含键值对。其中键值对的值只支持字符串、布尔、整型三种数值类型,键值对对应“系统参数-前端认证参数”策略条件的参数名称和条件值。 图1 自定义认证函数 已创建前端自定义认证
删除自定义认证 操作场景 当自定义的认证已不再需要时,可以删除自定义认证。 自定义认证依赖函数工作流服务。如果当前Region没有上线函数工作流服务,则不支持使用自定义认证。 已在API中使用的自定义认证无法被删除。 前提条件 已创建自定义认证。 操作步骤 进入共享版控制台。 在“开放API
调用API,验证双重认证是否设置成功。 实施步骤 登录函数工作流控制台,在“总览”页面,单击“创建函数”。 根据下表,填写函数信息后,单击“创建函数”。 表1 函数信息配置 参数 配置说明 选择创建方式 默认“创建空白函数”。 函数类型 默认“事件函数”。 区域 与API网关相同区域。 项目
1 2 3 $req->headers = array( 'x-stage' => 'RELEASE', ); 进行签名,执行此函数会生成一个$curl上下文变量。 1 $curl = $signer->Sign($req); 访问API,查看访问结果。 1 2 3 4
当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN 最大长度:64 alias_urn String 函数别名URN 当函数别名URN和函数版本同时传入时,函数版本将被忽略,只会使用函数别名URN timeout Integer API网关请求后端服务的超时时间。函数网