代码之家  ›  专栏  ›  技术社区  ›  Marek

在S3提供的AWS无服务器网站中,API网关凭证存储在哪里?

  •  4
  • Marek  · 技术社区  · 7 年前

    在一个示例AWS无服务器体系结构中,将有S3托管一个静态网站,通过javascript调用API网关端点,后者反过来调用Lambda函数。

    如何对awsapi网关进行身份验证,而不通过将凭据存储在S3提供的可公开访问的javascript源代码中而公开凭据?

    (不询问后端凭证,这些凭证很容易存储(并加密)在Lambda函数可访问的环境变量中)

    3 回复  |  直到 7 年前
        1
  •  2
  •   jarmod    7 年前

    您的用户通常会使用 Cognito 或其他一些身份验证后端,将其凭据交换为JWT令牌或用于对API网关进行身份验证的等效令牌。这里是 an example

    也可以支持 unauthenticated users 用干邑酒。

    如果您需要在没有身份验证的情况下进行API网关调用,请参阅 this response

        2
  •  1
  •   Matt D    7 年前

    您需要使用第三方身份提供者从客户端获取令牌,您可以将其传递到API网关。我个人使用 Auth0 ,最多对两个身份提供者免费。

    很容易与您的 Single Page Application (有角度的/反应的/Vue)对一个或多个 Identity Providers

    集成起来也很简单 server-side validation API网关中使用自定义验证器的身份验证令牌。还可以使用 Authorization Extension . 网站的公共部分可以对不使用自定义验证器的API端点进行API调用。

    下面是一个来自无服务器框架网站的好指南 Strategies for implementing user authentication in serverless applications working example on GitHub .

        3
  •  0
  •   mostafazh    7 年前

    使用类似 AWS Cognito 是最好的主意(不必担心管理自己的身份验证服务器)。

    在awscognito中,您可以简单地让未经验证的用户访问调用API的API。更多信息请参见文档( here here ).