amazon-web-services - 访问令牌过期时,AWS Cognito 不会从身份提供商刷新用户属性
问题描述
我们已经使用 AzureAD 身份提供程序设置了 Cognito 用户池。我们添加了一些带有属性映射的自定义属性,并使它们都可写和可读。用户能够登录,我们在颁发的令牌中看到了这些自定义属性,所以一切似乎都正常工作。
但是......当我们在 AzureAD 端更改某些属性时,这些更改不会反映在 Cognito 用户池属性中,因此不会反映在以下访问令牌的声明中。为了强制 Cognito 将用户数据与 AzureAD 同步,用户必须退出并登录。由于默认情况下刷新令牌有效期为 30 天,这意味着潜在用户可能会在很长一段时间内拥有过期声明。
从安全角度来看,这是一个巨大的问题。想象一下场景,当某些用户的权限(表示为声明)在 AzureAD 端被删除并且在接下来的几天内用户仍然拥有这些权限,因为该更改没有反映在 AWS Cognito 发布的令牌中。
那么如何解决这个问题呢?每次访问令牌过期时,如何强制 Cognito 从身份提供者更新用户属性?清除浏览器站点上的刷新令牌不是解决方案。我在 AWS 文档中找不到任何关于它的内容(或基本上在其他任何地方),用户池上也没有同步设置等。
解决方案
推荐阅读
- html - CSS @media div 类未调整大小
- php - Python多维数组快速访问?
- swift3 - 将相邻跟踪区域视为一个连续区域
- r - 在 R 中按因子绘制“条形图”时为“pch”使用矢量化绘图参数
- android - android studio + Gradl同步中不允许TextView和属性,基本功能?
- scala - 导入 SBT 项目时出错,即使在更改了 VM ware 参数之后也是如此
- sql - SSRS Backup files being created in VS 2017
- ios - UICollectionView 加载太慢了
- google-sheets - 按 ID 匹配行并从指定日期之前最接近日期的行返回一个值
- python - struct unpack(类型错误:需要一个类似对象的字节,而不是“str”),解压列表?