首页 > 解决方案 > 在 AWS Lambda 中,使用变量设置标头属性

问题描述

在我的 lambda 调用中,我得到一个 OAuth 令牌,然后我需要在我的 Web 服务调用中使用它。

我尝试了各种方法,包括仅在标题中附加:'Authorization': 'Bearer ' + access_token以及以下方法:

exports.handler = async(event, context) => {
    var id = event.id;
    var access_token = "ddddd-ccccc-eeee-ffff-gggg";
    var access_header = "Bearer ${access_token}";
    var path = '/sample/someservice/1.0/myService/' + id;
    console.log("access header: " + access_header);
    console.log("path: " + path);
    // TODO implement
    return new Promise((resolve, reject) => {
        const options = {
            host: 'host.mycompany.com',
            method: 'GET',
            port: 443,
            crossDomain: true,
            path: path,
            headers: {
                "Access-Control-Allow-Origin": "*",
                'Content-Type': 'application/x-www-form-urlencoded',
                'Content-Length': data.length,
                'Authorization': access_header
            }

最终我希望能够使用access_token变量并Bearer正确设置值。

附加确实有效path,我可以在我的options.

标签: javascriptoauth-2.0aws-lambda

解决方案


线

var access_header = "Bearer ${access_token}";

应该写成

var access_header = `Bearer ${access_token}`;

应该有反引号“`”而不是双引号。这是 es6 风格。


推荐阅读