【问题标题】:Is it possible to use AWS Lambda to request an oauth 2.0 token?是否可以使用 AWS Lambda 请求 oauth 2.0 令牌?
【发布时间】:2016-12-22 01:57:40
【问题描述】:

我正在寻找避免创建ec2 instance 的方法,以便获得有效的回调 URL 来执行 oauth 握手。

我打算用Lambda连接远程API,但是我需要先能拿到token,这个token有效期只有6小时。

有什么方法可以通过Lambda 函数进行握手?

【问题讨论】:

    标签: amazon-web-services lambda oauth


    【解决方案1】:

    我认为LambdaAPI Gateway 提供了一个很好的解决方案。 API Gateway 允许您创建一个持久的、可公开访问的 HTTP 端点。您可以定义将 HTTP 方法映射到 lambda 函数调用的特定“资源”。

    我对 OAuth 2 不是特别熟悉,但我想像这样:在 API Gateway 中,使用调用 Lambda 函数的 GET 方法定义资源“/回调”。

    将 API Gateway 端点注册为应用程序的回调 URI,如下所示:

    https://c1bql2cdxy.execute-api.us-east-1.amazonaws.com/callback

    通过这样做,远程服务将调用您的 lambda 函数,然后该函数可以从请求中读取授权令牌并根据需要使用它,这是否涉及 1) 将令牌存储在数据库中以供将来使用(和重用)由其他服务,2) 直接在同一个 Lambda 函数中调用服务等。

    【讨论】:

    • 非常感谢您的编辑和回答,听起来很有希望。我将测试所有内容并返回以将其标记为正确。
    • 嗨@rumdrums,oauth 2 的工作方式是首先发送一个 GET 请求以获取代码,然后在 POST 请求中使用该代码以及一些其他数据作为密钥、应用程序 ID 等. 我正在尝试了解 API Gateway 流程。我应该创建2个不同的资源对吗?然后用我的 lambda 函数调用它们。抱歉,如果这没有意义,我正在尝试了解它是如何工作的。再次感谢
    • @JordanBelf 我认为你绝对是在正确的轨道上。由于问题仅限于流程的回调回调部分,因此我没有过多考虑初始部分 - 用户从您的应用程序请求初始授权链接 - 但我认为您肯定想要一个单独的Lambda 服务,可通过不同的 URL 访问,用户可以访问该服务以接收此链接。从那里,用户通过授权服务进行身份验证,此时他被重定向到您的回调 URL。这有意义吗?
    猜你喜欢
    • 1970-01-01
    • 2019-12-11
    • 2013-12-01
    • 2020-12-10
    • 2020-03-23
    • 2015-06-24
    • 2021-02-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多