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

函数计算使用python ,前端使用node.js签名认证方式访问,能访问到吗?

函数计算使用python ,前端使用node.js签名认证方式访问,能访问到吗?

展开
收起
学习娃 2023-06-14 13:50:32 97 0
5 条回答
写回答
取消 提交回答
  • 在前端Node.js中使用crypto模块生成一个随机的字符串作为签名,该字符串可以使用UUID或者其他方式生成。
    
    将签名和请求一起发送给后端Python服务器。
    
    在后端Python服务器中,使用crypto模块计算签名,并与请求中的签名进行比较。
    
    如果签名一致,则处理请求并返回结果。
    
    如果签名不一致,则拒绝请求。
    
    2023-06-18 10:47:12
    赞同 展开评论 打赏
  • 阿里云函数计算提供了一组API用于访问和执行函数。这些API包括请求方法、认证机制和相关参数,可以通过不同编程语言来调用。 文档:https://developer.aliyun.com/article/1057070

    2023-06-14 20:56:46
    赞同 展开评论 打赏
  • 参考:https://developer.aliyun.com/article/1057070

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

    2023-06-14 17:46:45
    赞同 展开评论 打赏
  • CSDN博客专家,51CTO博主专家,多知名企业认证讲师&签约作者&培训讲师,特邀作者等,华为云专家,资深测试开发专家,金牌面试官,职场面试培训及规划师。

    【回答】

    可以访问到。

    阿里云函数计算产品支持多种认证方式,包括HTTP Basic认证、HTTP Digest认证、Oauth2.0等,因此可以使用Node.js签名认证方式进行访问。

    在Node.js中,可以使用HTTP客户端库如axios来进行认证请求,代码示例:

    const axios = require('axios');
    
    axios.defaults.headers.common['Authorization'] =
      'Digest username="xxx", realm="xxx", nonce="xxx", uri="xxx", cnonce="xxx", nc=' +
      'response="xxx", qop="auth", ' +
      'algorithm="MD5", opaque="appsecret"' +
      'username="xxx", realm="xxx", nonce="xxx',
    
    2023-06-14 17:17:39
    赞同 展开评论 打赏
  • 是的,您可以使用Python编写函数计算,并使用Node.js编写的前端应用程序对其进行签名认证。

    在这种情况下,您可以使用阿里云函数计算SDK for Node.js提供的函数来生成签名。

    以下是一个简单的示例,展示了如何使用Node.js SDK生成函数计算的签名:

    const fc = require('@alicloud/fc2');
    
    const client = new fc.Client({
      accessKeyID: '<AccessKeyID>',
      accessKeySecret: '<AccessKeySecret>',
      region: '<Region>',
    });
    
    const functionName = 'my-function';
    const payload = { foo: 'bar' };
    const headers = {};
    
    const requestOptions = {
      method: 'POST',
      path: `/2016-08-15/proxy/services/${functionName}/functions/${functionName}/invocations`,
      headers: headers,
      body: JSON.stringify(payload),
    };
    
    const signature = client.generateAuthorization(requestOptions, {});
    headers.Authorization = signature;
    
    // 发起HTTP请求
    // ...
    

    在这个示例中,我们使用阿里云函数计算SDK for Node.js创建了一个函数计算客户端,并使用generateAuthorization函数生成了一个签名。我们可以将这个签名添加到HTTP请求的Authorization头中,以验证请求的身份。

    当然,您需要将上面的代码中的<AccessKeyID><AccessKeySecret><Region>替换为您自己的实际值,并将functionName设置为您要调用的函数计算的名称。另外,您还需要在前端应用程序中使用合适的HTTP客户端来发起请求。

    2023-06-14 14:38:50
    赞同 展开评论 打赏

快速交付实现商业价值。

相关产品

  • 函数计算
  • 相关电子书

    更多
    JavaScript异步编程 立即下载
    Delivering Javascript to World 立即下载
    编程语言如何演化-以JS的private为例 立即下载