身份令牌 (ID Token) 和访问令牌 (Access Token)
在 Amazon Cognito 中,身份令牌 (ID Token) 和访问令牌 (Access Token) 都是 JSON Web 令牌 (JWT),但它们的目的和用途不同:
身份令牌 (ID Token):
安全性: 因为它包含用户的个人信息,所以应该妥善保管,避免泄露。 通常不应该将其发送到后端服务,因为后端服务应该自己从 Cognito 获取用户信息。 2
使用场景: 用于客户端应用程序验证用户身份,显示用户个人资料,以及在需要用户身份信息但不需要访问后端资源的情况下使用。 例如,在 API Gateway 中用作授权器,验证用户身份。 2
访问令牌 (Access Token):
安全性: 如果泄露,攻击者可以访问受保护的资源或 API,但无法获取用户的个人信息。 2
使用场景: 用于访问后端 API、AWS 服务或其他受保护的资源。 例如,在向后端 API 发送请求时,在请求头中包含 Access Token。 2
总结:
ID Token 用于验证用户身份,Access Token 用于授权用户访问资源。 它们通常一起使用,ID Token 用于验证用户,Access Token 用于授权用户执行操作。 最佳实践是将 ID Token 保留在客户端,而将 Access Token 用于与后端服务的交互。 后端服务不应依赖 ID Token 中的用户数据,而应从 Cognito 或其他数据源中获取必要的信息。
最后更新于