【问题标题】:Redirect link to distribution slack app重定向到分发松弛应用程序的链接
【发布时间】:2023-03-28 00:35:02
【问题描述】:

我正在尝试重定向 URL 以使用 API 网关和 lambda 函数 (AWS) 分发 (OAuth 2.0) 我的 slack 应用程序,但我不知道如何获取代码。 返回的事件为空。

我的 lambda 代码:

// Lambda handler
exports.handler = (event, context, callback) => {

   var messageTest = { 
            client_id: CLIENT_ID,
            client_secret: CLIENT_SECRET,
            code: event.code
        };

        var queryTest = qs.stringify(messageTest);
        https.get(`https://slack.com/api/oauth.access?${queryTest}`, (res, err) => {
         console.log("statusCode: ", res.statusCode);
            console.log("headers: ", res.headers);

            var data = [];
            res.on('data', function(chunk) {
            data.push(chunk);
            });
            res.on('end', function() {
            var result = JSON.parse(data.join(''))
            console.log(result);
            });
        });    

        callback(null);
};

我的重定向 URL 是 lambda URL。 我得到的事件是空的。

如何从 oAuth 2.0 中获取“代码”?

【问题讨论】:

  • 这不是 Lambda 处理程序的代码。 callback 在哪里? codeone 是什么?
  • 你是对的。我编辑并解决了我的问题。

标签: aws-lambda aws-api-gateway slack-api


【解决方案1】:

假设您正在使用 Lambda 代理集成(因此您不使用正文映射模板),您发送到 API 网关的 JSON 有效负载将被您的 Lambda 接收为event.body 中的字符串化 JSON。

因此,您需要先对其进行解析,然后才能获得您的 code

const body = JSON.parse(event.body)
const code = body.code

参考:Input Format of a Lambda Function for Proxy Integration

【讨论】:

  • 在您提醒我之前,我没有启用 Lambda 代理集成,谢谢,它成功了。
猜你喜欢
  • 1970-01-01
  • 2017-01-03
  • 2013-12-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多