带有 cognito 令牌的 apigw authentication/authorization 的设计
Design of apigw authentication/authorization with cognito token
我真的很难找到允许我的 AWS 设计:
- 使用 REST(不使用 AWS sdk 库)验证实体以进行认知
- 剩下 api 的认知需要识别实体,return 根据它得出结果。例如,像“getOrders”这样的 api 将 return 与已登录的实体关联的订单。
已评估的解决方案:
oAuth 身份验证,具有范围,无法解决这种情况。该实体必须使用 appclientId 和 secret 进行身份验证,因此不清楚如何区分这些实体(为所有可以登录的实体创建一个 appclient 对我来说没有意义)。事实上,这里所有的实体都可以调用相同的 api 但结果取决于身份本身而不是来自范围。尽管如此,通过这种设计,很清楚如何使用 rest api.
获取令牌
使用与实体关联的用户名和密码对 Cognito 进行身份验证。这样,就可以在 apigw 上识别实体,并且 return 结果符合预期。在这种情况下,不清楚如何使用 rest apis(而不是使用 aws 的 sdk)获取令牌。我发现这个 post 无论如何:
我是否错过了其他一些最佳选择?在我看来,这是一个非常常见的场景,但我找不到合适的解决方案。
能否请您建议应该使用哪种身份验证机制。
提前致谢
马可
Cognito 公开标准 HTTPS 端点,允许您绕过 AWS API 执行登录和代码到令牌交换。它作为托管 UI 的一部分提供。所有请求都将针对您托管的 UI 域执行。有六个可用端点:
/login
这是您触发收录的地方。您的用户最终将进入您托管的 UI 页面 (documentation)。
/logout
在托管 UI 端关闭会话 (documentation)。
/oauth2/authorize
通常用于在网络浏览器中获取 JWT 令牌 (documentation)。
/oauth2/token
与上面类似,但仅用于后端(documentation)。
/oauth2/userInfo
用于获取认证用户(documentation)的信息。
/oauth2/revoke
用于使提供的令牌 (documentation) 无效。
使用上述端点,您无需使用 AWS API 即可实现整个登录/注销流程。
我真的很难找到允许我的 AWS 设计:
- 使用 REST(不使用 AWS sdk 库)验证实体以进行认知
- 剩下 api 的认知需要识别实体,return 根据它得出结果。例如,像“getOrders”这样的 api 将 return 与已登录的实体关联的订单。
已评估的解决方案:
oAuth 身份验证,具有范围,无法解决这种情况。该实体必须使用 appclientId 和 secret 进行身份验证,因此不清楚如何区分这些实体(为所有可以登录的实体创建一个 appclient 对我来说没有意义)。事实上,这里所有的实体都可以调用相同的 api 但结果取决于身份本身而不是来自范围。尽管如此,通过这种设计,很清楚如何使用 rest api.
获取令牌使用与实体关联的用户名和密码对 Cognito 进行身份验证。这样,就可以在 apigw 上识别实体,并且 return 结果符合预期。在这种情况下,不清楚如何使用 rest apis(而不是使用 aws 的 sdk)获取令牌。我发现这个 post 无论如何:
我是否错过了其他一些最佳选择?在我看来,这是一个非常常见的场景,但我找不到合适的解决方案。 能否请您建议应该使用哪种身份验证机制。
提前致谢 马可
Cognito 公开标准 HTTPS 端点,允许您绕过 AWS API 执行登录和代码到令牌交换。它作为托管 UI 的一部分提供。所有请求都将针对您托管的 UI 域执行。有六个可用端点:
/login
这是您触发收录的地方。您的用户最终将进入您托管的 UI 页面 (documentation)。/logout
在托管 UI 端关闭会话 (documentation)。/oauth2/authorize
通常用于在网络浏览器中获取 JWT 令牌 (documentation)。/oauth2/token
与上面类似,但仅用于后端(documentation)。/oauth2/userInfo
用于获取认证用户(documentation)的信息。/oauth2/revoke
用于使提供的令牌 (documentation) 无效。
使用上述端点,您无需使用 AWS API 即可实现整个登录/注销流程。