3

我正在尝试在我们的环境中设置 AWS API 网关。我创建了一个 api 网关,其中包含一个资源和一个用于身份验证的 cognito 用户池。我在 cognito 中创建了一个应用程序客户端并能够添加用户。但是我不清楚在使用 api 网关访问端点时调用登录页面。现在,我手动在 Authorization 标头中传递 JWT 令牌以进行测试,但在实时时,当我点击 api 网关端点时,我想重定向到注册/登录页面,以编程方式在用户通过身份验证后添加 auth 标头。

你能帮我理解我在这里缺少什么吗?

4

1 回答 1

1

API 是通常通过前端应用程序或其他后端服务调用的后端服务。API 不应假定调用者是使用前端的人,也不应假定前端是 Web 应用程序,它可能是移动应用程序、手表应用程序、电视应用程序等......

话虽如此,您的 API 不应重定向到用户身份验证页面。

正常的工作流程是

  1. 客户连接到您的网页
  2. 网页上的代码检查用户是否经过身份验证
  3. 当用户未通过身份验证时,网页重定向到身份验证系统。
  4. 身份验证后,身份验证系统重定向回您的网页
  5. 网页收集认证系统生成的令牌
  6. 网页调用 API,包括标头/查询字符串中的令牌。

您可以在此处通过移动应用程序或其他类型的前端替换 Web 应用程序。

在此处查看示例。 https://github.com/dabit3/stockholm-loft-react-native

这是一个 React 应用程序,使用 Amplify 它演示了应用程序本身如何管理对身份验证页面的重定向以及它如何将身份验证令牌传递给 API。该示例使用 GraphQL API,但您可以使用 REST API 执行类似操作。

于 2019-01-28T09:01:03.150 回答