前端vue调用函数http触发器 需要签名认证 sdk有没有?

前端vue调用函数http触发器 需要签名认证 sdk有没有?

展开
收起
百问录 2023-05-23 18:40:24 163 分享 版权
2 条回答
写回答
取消 提交回答
  • 随心分享,欢迎友善交流讨论:)

    在前端调用函数计算的Http触发器时,需要进行签名认证,常用的签名方式是使用阿里云提供的SDK来生成签名。

    在Vue中可以使用阿里云的SDK for Javascript来进行签名认证。具体步骤如下:

    安装SDK npm install aliyun-sdk-js 使用SDK生成签名 import RPCClient from 'aliyun-sdk-js/src/RPCClient'; import HmacSHA1 from 'crypto-js/hmac-sha1'; import Base64 from 'crypto-js/enc-base64'; const accessKeyId = 'yourAccessKeyId'; const accessKeySecret = 'yourAccessKeySecret'; const functionName = 'yourFunctionName'; const params = { 'param1': 'value1', 'param2': 'value2', }; const client = new RPCClient({ accessKeyId, accessKeySecret, endpoint: 'http://yourdomain.com', }); const requestOption = { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', 'x-fc-date': new Date().toISOString(), 'x-fc-qualifier': 'LATEST', }, body: 'param1=value1&param2=value2', }; const signature = Base64.stringify(HmacSHA1(requestOption.headers['x-fc-date'] + ' ' + requestOption.method + ' ' + requestOption.headers['Content-Type'] + ' ' + requestOption.body + ' ' + '/2016-08-15/proxy/' + functionName, accessKeySecret)); requestOption.headers['Authorization'] = FC ${accessKeyId}:${signature};

    client.request('POST', /2016-08-15/proxy/${functionName}, params, requestOption).then((result) => { console.log(result); }).catch((ex) => { console.log(ex); }); 在上面的代码中,accessKeyId和accessKeySecret需要替换成你自己的阿里云账号的AccessKey ID和AccessKey Secret,functionName需要替换成你要调用的函数计算的名称,params则是要传递的参数。在生成签名时使用了HmacSHA1算法,需要引入crypto-js库进行加密。

    2023-05-23 18:51:02
    赞同 展开评论
  • 参考这个:https://developer.aliyun.com/article/1057070

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

    2023-05-23 18:51:03
    赞同 展开评论

快速交付实现商业价值。

收录在圈子:
+ 订阅
阿里云 云原生应用平台 肩负阿里巴巴集团基础设施云化以及核心技术互联网化的重要职责,致力于打造稳定、标准、先进的云原生产品,成为云原生时代的引领者,推动行业全面想云原生的技术升级,成为阿里云新增长引擎。商业化产品包括容器、云原生中间件、函数计算等。
还有其他疑问?
咨询AI助理