因此,我有一个应用程序,它是一个移动客户端和一个API后端-使用Azure AD进行身份验证。我正在使用Azure的“企业应用程序”角色功能,以便可以向允许登录该应用程序的特定用户添加角色。
我正在谈论的设置类型与此类似:https://docs.microsoft.com/en-us/azure/active-directory/manage-apps/assign-user-or-group-access-portal
通过添加这些角色,我实质上是在用户令牌中添加声明(角色声明)。然后,该令牌将保存很长时间(例如一个小时),并与他们发送API的每个请求一起使用。
问题:如果用户处于“基本”角色,并且我更改了他的角色,所以他处于“管理员”角色,则该用户声称不会被更新,因为他在我之前检索了令牌改变了角色。因此,用户将具有相同的“基本”访问权限级别,直到他注销并再次登录(以刷新声明)。
所以问题是这样的:当我更改企业应用程序中的用户角色时,是否可以强制移动客户端为用户触发令牌刷新?我认为以某种方式在后端触发令牌到期会很棒,但不确定是否可行。
根据我对身份验证和授权的了解,我认为这是不可能的。如果是这样,那么它确实突出了在声明中存储角色(本质上类似于权限)的缺点。问这个问题,因为我之前很多次都错了。...