检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
API控制台。 在控制台单击,选择区域。 在左侧导航栏单击“总览”。 “总览”页面展示分别展示ROMA API概念,提供的能力,以及操作指引。 您可以根据不同角色查看行为路径,或者单击“查看指引”查看详细的操作指引。 初级使用者入门指导 中级使用者入门指导 高级使用者,敬请期待。 API治理专家,敬请期待。
结果与请求的Authorization头中签名是否一致来校验API请求是否合法。 同一个环境中一个API只能添加一个签名密钥,一个签名密钥可以添加到多个API上。 前提条件 API已发布。 配置签名密钥 登录ROMA API控制台。 在控制台单击,选择区域,在“ROMA API”下选择待操作的应用。
选择策略的类型,不同类型的策略提供不同扩展能力。 跨域资源共享:为API的跨域访问提供指定预检请求头和响应头、自动创建跨域预检请求API的能力。 HTTP响应头管理策略:可以自定义HTTP响应头,在返回的API响应中指定配置的响应头。 可见范围 当实例为ROMA类型时,支持设置当前应用可见或全局应用可见。 描述
Access-Control-Allow-Origin响应头,指定允许访问API的外域URI,多个URI之间使用英文逗号隔开。 对于未携带身份凭证的请求,可以把参数值设置为“*”,表示允许来自所有域的访问请求。 allowed methods Access-Control-Allow-Metho
求签名。 步骤1:构造规范请求 使用APP方式进行签名与认证,首先需要规范请求内容,然后再进行签名。客户端与API网关使用相同的请求规范,可以确保同一个HTTP请求的前后端得到相同的签名结果,从而完成身份校验。 HTTP请求规范伪代码如下: CanonicalRequest =
调用已发布的API API在发布到环境后,即支持被其他用户调用。根据API所使用的安全认证方式不同,调用API的操作有所差异。 获取API的请求消息 在调用API前,您需要向API管理者获取API的请求信息,包括访问域名、请求协议、请求方法、请求路径以及请求参数。 根据API使用
凭据配额用于限制凭据在某个时间周期内的API调用次数,支持自定义重置时间。 绑定访问控制策略 客户端访问控制可控制访问API的客户端IP地址,保护后端服务。您可以为客户端设置访问控制策略,允许/禁止某个IP地址的客户端访问API。 绑定API 在当前凭据下绑定API,绑定后的API拥有当前凭据下的所有策略。
... } } doFilter函数为签名校验代码。校验流程如下:由于filter中需要读取body,为了使得body可以在后续的filter和controller中再次读取,把request包装起来传给后续的filter和controller。包装类的具体实现可见RequestWrapper
(Exception e) { e.printStackTrace(); return; } 对请求进行签名,生成okhttp3.Request对象来访问API。 okhttp3.Request signedRequest = Client.signOkhttp(request); OkHttpClient
"4f5f626b-073f-402f-a1e0-e52171c6100c"; signer.Secret = "******"; 生成一个HttpRequest对象,指定域方法名、请求url和body。 1 2 3 HttpRequest r = new HttpRequest("POST",
"4f5f626b-073f-402f-a1e0-e52171c6100c" sig.Secret = "******" 生成一个Request对象,指定方法名、请求uri、header和body。 1 2 3 4 r = signer.HttpRequest("POST",
"4f5f626b-073f-402f-a1e0-e52171c6100c" sig.Secret = "******" 生成一个Request对象,指定方法名、请求uri和body。 var r = new signer.HttpRequest("POST", "c967a237-c
UnauthorizedResult(); return; } string secret = secrets[key]; 新建一个HttpRequest对象,将请求method、url、query、signedHeaders对应的请求头放入其中。判断是否需要设置body并设置。 需要读取bod
not found.', 401 signingSecret = secrets[signingKey] 新建一个HttpRequest对象,将请求method、url、query、signedHeaders对应的请求头放入其中。判断是否需要设置body并设置。 需要读取bod