开发者社区 > 云原生 > Serverless > 正文

请求header里面没有 x-fc 开头的参数,CanonicalizedFCHeaders 不传是

请求header里面没有 x-fc 开头的参数,CanonicalizedFCHeaders 不传是 OK 的吧?

另外我看你发的文档是 OpenAPI 的文档,这个跟触发器的签名逻辑是一致的吗?

展开
收起
学习娃 2023-05-22 14:13:46 109 0
5 条回答
写回答
取消 提交回答
  • 是的,如果您的请求头中没有以 "x-fc-" 开头的参数,那么在生成签名字符串时,可以忽略 CanonicalizedFCHeaders 参数。在阿里云函数计算(Function Compute)中,当您使用 OpenAPI 触发器或者 HTTP 触发器时,都需要对请求进行签名验证,以确保请求的安全性和合法性。在签名验证过程中,需要按照一定的规则生成签名字符串,并将其与请求中的签名值进行比对。具体的签名规则和参数格式,请参考阿里云函数计算的官方文档。

    需要注意的是,虽然 OpenAPI 触发器和 HTTP 触发器的签名逻辑类似,但是它们的请求参数格式和签名生成方式略有不同。如果您需要在函数计算中使用触发器,建议仔细阅读官方文档,并根据具体的业务需求选择合适的触发器类型和参数配置。同时,您也可以参考函数计算提供的示例代码和 SDK,以加快开发和部署的进度。

    2023-05-23 08:49:08
    赞同 展开评论 打赏
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    如果请求的HTTP头部中没有以"x-fc-"开头的字段,那么就无需传递CanonicalizedFCHeaders这个参数,此时签名验证仍然会成功。

    至于您提到的文档,如果是OpenAPI规范的HTTP请求进行签名,那么签名逻辑和触发器的签名逻辑确实是一致的。在函数计算服务中,无论是HTTP触发器还是事件触发器,在发起请求时都需要进行签名计算,并在签名结果中添加所需的请求头部信息,从而确保请求的安全性和准确性。

    在签名计算的过程中,您需要根据请求体、请求URL、请求方法、请求headers等参数,使用AccessKey Secret以及HMAC-SHA1算法进行签名计算。具体签名计算的方法请参考函数计算官方文档中的签名验证说明。

    2023-05-22 23:47:33
    赞同 展开评论 打赏
  • 参考下这个:https://developer.aliyun.com/article/1057070

    此答案来自钉钉群“阿里函数计算官网客户"

    2023-05-22 20:09:51
    赞同 展开评论 打赏
  • 如果请求header没有以x-fc开头的参数,CanonicalizedFCHeaders可以不传。但是在签名前需要注意以下几点:

    1. CanonicalizedFCHeaders必须是一个字符串,即使其中没有任何参数
    2. 如果CanonicalizedFCHeaders不包含任何头部,则必须传递一个空字符串

    关于签名逻辑,OpenAPI文档和触发器的签名逻辑并不完全相同。但是,它们都是基于HMAC签名算法实现的。在签名时需要注意的主要是参数按照字典序排序,并且要注意不同的参数需要放在特定的位置。具体实现时可以参考官方文档提供的示例代码。

    2023-05-22 14:56:41
    赞同 展开评论 打赏
  • CSDN全栈领域优质创作者,万粉博主;InfoQ签约博主;华为云享专家;华为Iot专家;亚马逊人工智能自动驾驶(大众组)吉尼斯世界纪录获得者

    是的,如果请求header里面没有 x-fc 开头的参数,那么在进行CanonicalizedFCHeaders转换时可以不传这个参数。

    CanonicalizedFCHeaders是一个用于将FC(Function as a Service)请求头转换为标准HTTP请求头的函数。它的作用是将FC请求头中的一些特殊参数转换为标准的HTTP参数,以便它们能够被正确地解析和处理。

    在进行CanonicalizedFCHeaders转换时,需要传入一个可选的参数canonicalized_request_headers,它是一个包含原始FC请求头的字符串。如果请求header中没有 x-fc 开头的参数,那么canonicalized_request_headers参数可以省略不传,因为在这种情况下没有FC请求头需要转换。

    2023-05-22 14:37:49
    赞同 展开评论 打赏
问答分类:
问答地址:
相关产品:

快速交付实现商业价值。

相关产品

  • 函数计算
  • 热门讨论

    热门文章

    相关电子书

    更多
    Hologres Serverless之路:揭秘弹性计算组 立即下载
    Serverless开发平台: 让研发效能再提升 立即下载
    Serverless 引领云上研发新范式 立即下载