检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
证通过函数服务实现,在函数服务中编写一个函数,实现您的认证鉴权流程,或者使用函数调用您的统一鉴权服务。 说明: 后端认证依赖函数服务,此功能仅在部分区域开放。 表5 FunctionGraph类型定义后端服务 服务参数 参数说明 函数名 添加函数后,函数名自动生成。 函数URN 函数请求唯一标识。
使用自定义认证调用API Function API通过编写函数脚本实现将多个服务封装成一个服务。 有关API调用的认证帮助,请参考编写函数API脚本(Java Script)。
后端认证需要先添加一个自定义认证,自定义认证通过函数服务实现,在函数服务中编写一个函数,实现您的认证鉴权流程,或者使用函数调用您的统一鉴权服务。 说明: 后端认证依赖函数服务,此功能仅在部分区域开放。 表3 FunctionGraph类型定义后端服务 服务参数 参数说明 函数名 函数名称。选择函数后,自动生成。 函数URN
前端:对API的访问进行认证鉴权。 后端:对后端服务的访问授权。 函数地址 选择用于前端自定义认证或后端自定义认证的函数后端,且创建的函数请求方法为“POST”。如需创建自定义后端,请参考创建用于前端认证的函数后端或创建用于后端认证的函数后端。 身份来源 设置用于认证的请求参数。 当“类型”
{"x-stage": "RELEASE"}, "body") 进行签名,执行此函数会在请求参数中添加用于签名的X-Sdk-Date头和Authorization头。 X-Sdk-Date是一个必须参与签名的请求消息头参数。
f(*args, **kwargs) return wrapped return wrapper wrapped函数为签名校验代码。校验流程如下:使用正则表达式解析Authorization头。得到key和signedHeaders。 1 2 3 4 5
API分析提供了API指标分析。 API API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,应用将自身的服务能力封装成API,并通过API Connect开放给用户调用。API包括基本信息、前后端的请求路径和参数以及请求相关协议。
给请求添加x-stage头,内容为环境名。如有需要,添加需要签名的其他头域。 r.headers = { "x-stage":"RELEASE" } 进行签名,执行此函数会生成请求参数,用于创建http(s)请求,请求参数中添加了用于签名的X-Sdk-Date头和Authorization头。 var opts
如果有需要,添加需要签名的其他头域。 request->addHeader("x-stage", "RELEASE"); 进行签名,执行此函数会将生成的签名头加入request变量中。 signer.createSignature(request); 使用curl库访问API,查看访问结果。
给请求添加x-stage头,内容为环境名。如有需要,添加需要签名的其他头域。 r.Header.Add("x-stage", "RELEASE") 进行签名,执行此函数会在请求中添加用于签名的X-Sdk-Date头和Authorization头。 s.Sign(r) 访问API,查看访问结果。 resp,
他头域。 sig_headers_add(¶ms.headers, "x-stage", "RELEASE"); 进行签名,执行此函数会将生成的签名头加入request变量中。 sig_sign(¶ms); 使用curl库访问API,查看访问结果。 static size_t
Access Key)认证调用请求。其签名方式和APP认证相似。 使用自定义认证调用API 如果您希望使用自己的认证方式,可以在函数服务中编写一个函数,将其作为您的认证服务。 使用无认证调用API 对API请求不进行认证。 通过多种开发语言对后端服务进行签名 指导API开放者通过创建后端签名,确保后端服务的安全。
给请求添加x-stage头,内容为环境名。如有需要,添加需要签名的其他头域。 1 r.headers.Add("x-stage", "RELEASE"); 进行签名,执行此函数会生成一个新的HttpWebRequest,并在请求参数中添加用于签名的X-Sdk-Date头和Authorization头。 1 HttpWebRequest
//签名校验代码 ... } } } OnAuthorization函数为签名校验代码。校验流程如下:使用正则表达式解析Authorization头。得到key和signedHeaders。 1 2 3
servletResponse, FilterChain chain) { //签名校验代码 ... } } doFilter函数为签名校验代码。校验流程如下:由于filter中需要读取body,为了使得body可以在后续的filter和controller中再次读取
256哈希函数创建哈希值。 释义: 请求消息体。消息体需要做两层转换:HexEncode(Hash(RequestPayload)),其中Hash表示生成消息摘要的函数,当前支持SHA-256算法。HexEncode表示以小写字母形式返回摘要的Base-16编码的函数。例如,HexEncode("m")
1 2 3 $req->headers = array( 'x-stage' => 'RELEASE', ); 进行签名,执行此函数会生成一个$curl上下文变量。 1 $curl = $signer->Sign($req); 访问API,查看访问结果。 1 2 3 4
配置跨域访问API 出于安全性考虑,浏览器会限制从页面脚本内发起的跨域请求,此时页面只能访问当前域的资源。CORS允许浏览器向跨域服务器发送XMLHttpRequest请求,从而实现跨域访问。 浏览器将CORS请求分为两类 简单请求 非简单请求 详情请参考配置跨域访问API。 父主题:
跨域资源共享策略 出于安全性考虑,浏览器会限制从页面脚本内发起的跨域请求,此时页面只能访问当前域的资源。CORS允许浏览器向跨域服务器发送XMLHttpRequest请求,从而实现跨域访问。更多跨域访问的说明请参考开启跨域共享。 跨域资源共享策略为跨域访问提供指定预检请求头和响应
跨域资源共享 浏览器出于安全性考虑,会限制从页面脚本内发起的跨域访问(CORS)请求,此时页面只能访问同源的资源,而CORS允许浏览器向跨域服务器,发送XMLHttpRequest请求,从而实现跨域访问。 前提条件 API已发布。 配置跨域访问控制 登录ROMA API控制台。 在控制台单击,选择区域,在“ROMA