我遇到了一个奇怪的问题。
登录ADAL没问题
使用
authContext.acquireTokenWithResource(resourceUrl, clientId: clientId, redirectUri: redirectUri, promptBehavior: AD_PROMPT_ALWAYS, userId: nil, extraQueryParameters: "nux=1&login_hint=desmondkoh@")
和
authContext.acquireTokenSilentWithResource(resourceUrl, clientId: clientId, redirectUri: redirectUri)
BUT
如果用户更改了密码,我仍然可以通过acquireTokenSilentWithResource
所以我的问题是 当用户更改密码时,缓存中的访问令牌会在多长时间内到期?
欢呼声
德
答案 0 :(得分:1)
密码更改最多可能需要一个小时才能强制用户在特定应用程序中重新进行身份验证。
密码更改不会使任何访问令牌失效。所有访问令牌都有一个特定的到期时间,通常是AAD令牌的一小时,并且它们将一直有效,直到达到到期时间。一旦访问令牌到期,下一个acquireToken请求将导致ADAL尝试在AAD处交换新访问令牌的刷新令牌。此时,如果用户更改了密码,则可能发生故障。 AAD服务会注意到与刷新令牌关联的用户更改了他们的密码并拒绝了以静默方式获取新访问令牌的请求。