检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
您可以通过API网关中的后端自定义认证实现此功能。在使用后端自定义认证对后端请求进行认证授权前,您需要先在FunctionGraph创建一个函数,通过函数定义您所需的认证信息。函数作为自定义认证的后端函数,对API网关中的API进行认证授权。 图1 后端自定义认证示意图 使用自定义认证调用API的流程如下图所示:
Latency: 0\nX-Apig-Ratelimit-Api: remain:99,limit:100,time:1 minute\nX-Apig-Ratelimit-Api-Allenv: remain:14999,limit:15000,time:1 second\nX-Request-Id:
要先获取SDK,然后新建工程,最后参考API调用示例调用API。 JavaScript SDK支持Node.js、浏览器等运行环境。 关于开发环境搭建,本章节以IntelliJ IDEA 2018.3.5版本、搭建Node.js环境为例。浏览器只提供代码示例说明。 准备环境 已获取API调用信息,具体参见认证前准备。
参考调用API示例。 调用API示例 在工程中引入sdk(signer.go)。 import "apig-sdk/go/core" 生成一个新的Signer,输入AppKey和AppSecret。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量
py”文件,单击“OK”,完成工程配置。 校验后端签名示例 示例演示如何编写一个基于Flask的服务器,作为API的后端,并且实现一个wrapper,对API网关(即API管理)的请求做签名校验。 API绑定签名密钥后,发给后端的请求中才会添加签名信息。 编写一个返回“Hello World!”的接口,方法为
Lowercase表示将所有字符转换为小写字母的函数。 Trimall表示删除值前后的多余空格的函数。 最后一个请求消息头也会携带一个换行符。叠加规范中CanonicalHeaders自身携带的换行符,因此会出现一个空行。 消息头名称要保持唯一性,出现多个相同消息头名称时,无法完成认证。 举例: GET
token fail Incorrect IAM authentication information: Get secretKey failed Incorrect IAM authentication information: verify aksk signature fail {
护机制,即租户开放的API,需要对请求来源进行认证,不符合认证的请求直接拒绝访问。 其中,签名密钥就是API安全保护机制的一种。 租户创建一个签名密钥,并将签名密钥与API进行绑定,则API网关在请求这个API时,就会使用绑定的签名密钥对请求参数进行数据加密,生成签名。当租户的后
0的版本为稳定版本,发布到了生产环境供生产使用,同时,该API正处于迭代中,v1.1的版本是开发人员交付测试人员进行测试的版本,发布在测试环境上,而v1.2的版本目前开发团队正处于开发过程中,可以发布到开发环境进行自测等。 为此,API网关提供多环境管理功能,使租户能够最大化的模拟实际场景,低成本的接入API网关。
], "password": { "user": { "name": "{user_name}", "domain": { "name": "{user_name}" }, "password": "{password}"
API可以同时提供给不同的环境调用,如生产、测试或开发。RELEASE是默认存在的环境,无需创建。且API网关提供环境变量功能,通过创建环境变量,实现在不同的环境定义不同的API调用路径。 环境变量是指在环境上创建可管理的一种变量,该变量固定在环境上。通过创建环境变量,实现同一个API,在不同环境中调用不同的后端服务。
进行认证鉴权。 后端自定义认证:当不同的后端服务使用不同的认证系统时,导致您需要为不同的认证系统定制化开发API,而APIG通过自定义认证功能,将多种认证系统集成,简化API开发的复杂度。您只需要在APIG中创建自定义的函数认证,APIG通过此函数对接后端认证系统,获取后端服务的访问授权。
addQueryStringParam("name", "value"); request.addHeader("Content-Type", "text/plain"); request.setBody("demo"); } catch (Exception e) { e.printStackTrace();
创建API分组 功能介绍 API分组是API的管理单元,一个API分组等同于一个服务入口,创建API分组时,返回一个子域名作为访问入口。建议一个API分组下的API具有一定的相关性。 URI HTTP/HTTPS请求方法以及URI如下表所示。 表1 HTTP/HTTPS请求方法以及URI
在“关联API”区域,单击“绑定API”。 选择授权环境、API分组和API。 单击“确定”。 如需解绑API,在API所在行单击“解绑”即可。 一个凭据可以绑定多个APP认证的API,一个APP认证的API可以绑定多个凭据。 父主题: 凭据管理
行身份核对,完成鉴权。关于使用APP认证的方法,具体请参考《API网关开发指南》。 从云商店购买的API,系统自动创建一个应用,无需单独创建应用。 使用无认证/华为IAM认证的API,无需创建应用。 应用配额包括您自行创建的应用和在云商店购买API生成的应用。 创建应用 进入共享版控制台。
API网关是否支持多后端节点方案? 支持。 通过VPC通道(负载通道)支持多后端节点,一个VPC通道中可以添加多个云服务器。 关于VPC通道(负载通道)的详细操作,请参考负载通道。 父主题: API创建
创建自定义的前端函数,使用函数服务开发自定义认证。 创建自定义认证 创建自定义认证,类型选择“前端”,函数地址选择上一步创建的函数。 创建API 安全配置中的安全认证选择APP认证,并勾选“支持双重认证”,选择上一步创建的自定义认证。 创建凭据 使用APP认证的API,需要在API网关中创建一个凭据,生成
对后端服务进行签名 签名前准备 Java Python C#
创建API分组 功能介绍 API分组是API的管理单元,一个API分组等同于一个服务入口,创建API分组时,返回一个子域名作为访问入口。建议一个API分组下的API具有一定的相关性。 调用方法 请参见如何调用API。 URI POST /v2/{project_id}/apigw