这个链接中没有写如何传递url body data参数 我穿了就token失效了 如果我不传参可以调用成功
https://developer.aliyun.com/article/1057070
如何把 传过来的post body里的参数 也加到认证里呢?
我把post 过来的body参数加到这里也是提示认证。
这个看看呢:https://github.com/aliyun/fc-nodejs-sdk/blob/master/lib/client.js?spm=a2c6h.12873639.article-detail.8.326c1ce4Iv8QYN#L103
此答案来自钉钉群“阿里函数计算官网客户"
这里涉及到了阿里云 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 中的参数导致认证失败的问题了。
需要注意的是,在使用自定义签名算法时需要确保算法的安全性和准确性,避免因为签名算法不正确而导致认证失效或数据泄露等问题。另外,在使用自定义签名算法时,建议参考阿里云官方文档中的说明,并根据实际需要进行适当调整。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。