在 Cognito 用户属性中存储非 AWS API 访问令牌

Storing Non-AWS API Access Tokens in Cognito User Attributes

目前,我已经配置了一个桌面 UWP C# 应用程序,用户可以使用 AWS Cognito 用户和用户池登录和注册该应用程序。该应用程序还需要与另一个第三方 API 通信,后者使用 1 次注册 return OAuth2.0 访问令牌和刷新令牌。访问令牌过期约 20 分钟,然后在请求的整个生命周期内刷新令牌,通常是永远直到被用户撤销。我想存储刷新令牌,以便在用户登录并由 Cognito 验证时检索它。可以在用户注册时将此访问令牌存储在 Cognito 用户属性中,还是我需要将其存储在其他地方?如果我确实需要将它存储在别处,是否有任何通常用于此目的的 AWS 服务?

确实有针对此特定目的的 AWS 服务。它叫做 AWS Secrets Manager.

好处;

  • 存储和传输中的默认加密
  • 您可以使用 IAM 来管理访问控制。因此,您可以将访问权限锁定给一两个高级开发人员
  • 您可以使用 IAM 进行精细访问控制。这意味着您可以将秘密锁定到特定用户并在存储级别保护它
  • 使用 SDK 集成非常简单