通过 Amazon Cognito 使用刷新令牌轮换和重用检测的更好方法

问题描述 投票:0回答:1

我们的团队正在考虑如何在身份验证层中实现刷新令牌轮换和重用检测策略。

我们希望使用 cognito 进行用户身份验证,但我们正在处理如何将这些策略应用于 cognito。

我们的一个问题是:我们可以访问 Cognito 令牌数据库吗?我的意思是,是否有一种方法可以连接到 cognito 存储令牌(访问、刷新和 id 令牌)的数据库并修改它们。


另一种可能的解决方案是使用 Auth0 解决方案来验证我们的用户并使用这些策略(轮换和重用检测),但我们计划拥有大量用户 (+100.000),成本可能是一个问题。


您会推荐我们使用什么解决方案/框架/服务来将其用作类似于 Cognito 的用户身份验证服务?

提前致谢。

我们尝试了 Cognito,但我发现无法使用刷新令牌轮换和重用检测策略。

当然,我们可以“内部”完成此操作,但我们希望使用经过真正测试的第三方解决方案。

oauth amazon-cognito auth0 refresh-token oauth-refresh-token
1个回答
0
投票

直接在 Cognito 中实现刷新令牌轮换和重用检测可能具有挑战性,因为 Cognito 在内部管理令牌发行和存储,并且无法直接访问其令牌数据库。但是,您可以考虑其他方法:

  1. 自定义身份验证流程:您可以使用 Lambda 触发器通过 Cognito 实现自定义身份验证流程。通过自定义身份验证流程,您可以更好地控制身份验证过程,包括令牌管理。您可以在 Lambda 触发器中实现自己的令牌轮换和重用检测逻辑。

  2. 外部令牌管理:您可以在外部管理令牌轮换和重用检测,而不是尝试直接修改Cognito的令牌数据库。这可能涉及使用 AWS Lambda 函数或单独的服务定期验证和轮换令牌。

  3. 混合方法:您可以使用 Cognito 进行用户身份验证,并将令牌管理委托给单独的服务或组件。例如,您可以使用 AWS Secrets Manager 或 AWS Key Management Service (KMS) 等服务来管理令牌加密和轮换。

关于您对 Auth0 的考虑,虽然它是一个强大的身份验证服务,支持令牌轮换和重用检测,但您担心大量用户的潜在成本。您可以探索提供类似功能但可能具有不同定价模型的其他身份验证服务。您可能考虑的一些替代方案包括:

  • Okta:Okta 提供全面的身份管理解决方案,支持令牌轮换和重用检测。
  • Azure Active Directory (AAD):AAD 提供身份验证和访问管理服务,其功能类似于 Cognito 和 Auth0。
  • Firebase 身份验证:Firebase 身份验证是另一种选择,特别是如果您已经在使用其他 Firebase 服务。它提供令牌管理功能,并与其他 Firebase 产品完美集成。

最终,身份验证服务的选择将取决于您的具体要求,包括可扩展性、成本考虑以及与现有基础设施的集成。在做出决定之前,值得评估每个选项的功能、定价和集成难易程度。

© www.soinside.com 2019 - 2024. All rights reserved.