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

这个链接中没有写如何传递url body data参数 我穿了就token失效了 如果我不传参可以调

这个链接中没有写如何传递url body data参数 我穿了就token失效了 如果我不传参可以调用成功

提问15.png

https://developer.aliyun.com/article/1057070

如何把 传过来的post body里的参数 也加到认证里呢?

提问16.png

我把post 过来的body参数加到这里也是提示认证。

展开
收起
有问必答 2023-05-24 11:05:53 122 0
2 条回答
写回答
取消 提交回答
  • 这个看看呢:https://github.com/aliyun/fc-nodejs-sdk/blob/master/lib/client.js?spm=a2c6h.12873639.article-detail.8.326c1ce4Iv8QYN#L103

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

    2023-05-24 17:54:01
    赞同 展开评论 打赏
  • 这里涉及到了阿里云 API 网关的 OAuth2.0 认证方式和 POST 方法传参的问题。

    第一个问题,你需要确保在 API 网关的 OAuth2.0 认证方式中已经正确配置了 token endpoint、client id、client secret 等必要参数,并确保在请求 API 时在 HTTP Header 中正确传递了 access token。具体配置和传递方式可以参考阿里云官方文档中的说明。

    对于第二个问题,如果你的 POST 请求是将参数放在 HTTP BODY 中传递的话,那么在 API 网关中进行认证时需要对 HTTP BODY 中的参数进行签名计算。阿里云 API 网关默认的签名计算方式是将 HTTP HEADER 中所有参数进行签名,而不包括 HTTP BODY 中的参数。因此,如果将参数放在 HTTP BODY 中传递,可以考虑使用自定义签名算法来处理 HTTP BODY 中的参数。

    具体而言,可以在 API 网关的后端服务中添加一些代码逻辑来处理 HTTP BODY 中的参数,并将这些参数添加到 API 网关的 HTTP HEADER 中。此外,需要在 API 网关的签名计算逻辑中包括这些新添加的参数,计算签名值时才能正确地包含这些参数。这样,就可以解决 POST 方法传参时因为 HTTP BODY 中的参数导致认证失败的问题了。

    需要注意的是,在使用自定义签名算法时需要确保算法的安全性和准确性,避免因为签名算法不正确而导致认证失效或数据泄露等问题。另外,在使用自定义签名算法时,建议参考阿里云官方文档中的说明,并根据实际需要进行适当调整。

    2023-05-24 13:56:28
    赞同 展开评论 打赏

快速交付实现商业价值。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载