将自定义角色添加到AWS Cognito用户池访问令牌

时间:2020-09-07 23:13:37

标签: amazon-cognito openid-connect aws-userpools

我正在使用AWS Cognito用户池来保护我的Web应用程序,移动应用程序和API。我有一个定义了角色和权限的数据库。我想在登录过程中向访问令牌中添加“角色”,这样就无需进行数据库调用来检查用户角色。

我将无法使用Cognito自定义属性,因为人们可以从前端创建自定义角色,并且所有这些信息都保存在数据库中。

1 个答案:

答案 0 :(得分:1)

我不认为Cognito支持这一点。此外,由于自定义角色是会经常更改的域数据,因此在授权服务器中将很难管理它们。

替代选项

  • 从您自己的数据库中查找用户角色
  • 将角色存储在ClaimsPrincipal中
  • 但是只有在首次收到令牌时才这样做
  • 为具有相同令牌的后续API请求缓存声明

这使您可以将数据存储在正确的位置,同时还可以为API提供授权请求和执行所需的功能。

此设计模式的资源

广泛的解决方案

随意以适合您的方式调整上述模式。关键目标是简化每个API的管理和扩展用于标识和授权的数据。