检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
API网关提供了灵活的安全认证方式,用户可以配置自定义认证实现API的双重认证方式。本文以API前端认证使用APP认证和自定义认证(双重认证)结合场景为例,具体说明如何创建使用双重认证的API。 方案优势 在API网关提供的安全认证模式下,用户可根据业务需求,灵活实现自定义认证,保障API的安全问题。
给请求添加x-stage头,内容为环境名。如果有需要,添加需要签名的其他头域。 request->addHeader("x-stage", "RELEASE"); 进行签名,执行此函数会将生成的签名头加入request变量中。 signer.createSignature(request); 使用curl库访问API,查看访问结果。
给请求添加x-stage头,内容为环境名。如果有需要,添加需要签名的其他头域。 sig_headers_add(¶ms.headers, "x-stage", "RELEASE"); 进行签名,执行此函数会将生成的签名头加入request变量中。 sig_sign(¶ms); 使用curl库访问API,查看访问结果。
对端项目 选择已有项目。 对端VPC 已创建的虚拟私有云“VPC2”。 单击“确定”。 在弹框中单击“立即添加”,进入对等对接详情页面。 在“关联路由”页签中单击“添加路由”。 在弹窗中填写路由信息。 表6 本端和对端的路由信息 参数 说明 本端路由 虚拟私有云 已创建的虚拟私有云“VPC1”。
头,3 ~ 64个字符。 说明: 中文字符必须为UTF-8或者unicode编码。 remark 否 String APP描述。 字符长度不能大于255 说明: 中文字符必须为UTF-8或者unicode编码。 app_key 否 String APP的key 支持英文,数字,“_”
API创建完成后,在“API运行”页签中,单击“发布最新版本”,发布API。 使用接口测试工具调用API。 本实践通过IP调用DEFAULT分组下的API,输入“wss://IP地址/hello”发送请求即可。其中,IP地址为APIG控制台“实例信息”中的弹性IP地址。 父主题: 开放API
类型 说明 api_id String 发布或下线失败的API ID api_name String 发布或下线失败的API名称 error_code String 发布或下线失败的错误码 error_msg String 发布或下线失败的错误信息 响应消息样例: { "success":
监控 支持的监控指标 创建告警规则 查看监控指标 父主题: 共享版操作指导(仅存量用户使用)
查询API列表 查询API历史版本列表 根据版本编号下线API 查看版本详情 查询API运行时定义 调试API 父主题: 共享版API(仅存量用户使用)
在“分组信息”页签中的“域名管理”区域,单击“绑定独立域名”。 在弹窗中添加已创建的防护域名即可。 在APIG实例中,将“real_ip_from_xff”开关打开,并设置参数运行值为“1”。 在APIG控制台的左侧导航栏中,选择“实例管理”。 在“配置参数”页签中,设置“real_ip_from_xff”参数。
示。 表1 HTTP/HTTPS请求方法以及URI 请求方法 URI PUT /v1.0/apigw/throttles/{id} URI中的参数说明如下表所示。 表2 参数说明 名称 是否必选 类型 说明 id 是 String 流控策略编号 请求消息 表3 参数说明 参数 是否必选
表1 HTTP/HTTPS请求方法以及URI 请求方法 URI PUT /v1.0/apigw/authorizers/{id} URI中的参数说明如下表所示。 表2 参数说明 名称 是否必选 类型 说明 id 是 String 自定义认证的ID 请求消息 表3 参数说明 名称
创建API,后端服务地址配置ELB的IP。 创建ECS 选择VPC2为其VPC,并在其上部署后端应用服务,创建Elastic Cloud Server(应用服务器)。 调试API 验证对接内网ELB是否成功。 父主题: 使用APIG专享版跨VPC开放后端服务
参数,系统参数名称填自定义认证函数中context中的字段,后端参数名称和位置填需要传入到后端请求的参数名和位置。 编辑和发布完成之后,使用正确的认证信息调用API,可以看到后端打印了X-User-Name头,值为函数代码中写入到context中的user_name字段的用户名。
2:未上架 3:审核中 表4 UrlDomainsResp 名称 类型 说明 id String 域名编号 domain String 访问域名 cname_status Integer 域名cname状态: 1:未解析 2:解析中 3:解析成功 4:解析失败 ssl_id String
AppKey/Key:APP访问密钥ID。与私有访问密钥关联的唯一标识符;访问密钥ID和私有访问密钥一起使用,对请求进行加密签名。 AppSecret/Secret:与访问密钥ID结合使用的密钥,对请求进行加密签名,可标识发送方,并防止请求被修改。 发送API请求时,需要将当前时间置于
有绿色箭头表示创建成功。 调用API示例 把API信息替换到HttpClientDemo.java中对应位置。 本示例以AK和SK保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量HUAWEICLOUD_SDK_AK和HUAWEICLOUD_SDK_SK。以Linux
概要查询 查询API分组概况 查询API概况 查询APP概况 父主题: 共享版API(仅存量用户使用)
查看APP未绑定的API列表 授权 查看APP已绑定的API列表 查看API已绑定的APP列表 解除授权 父主题: 共享版API(仅存量用户使用)
创建ACL策略 修改ACL策略 删除ACL策略 批量删除ACL策略 查看ACL策略详情 查看ACL策略列表 父主题: 共享版API(仅存量用户使用)