如何清除iOS ADAL库中的缓存

3

我已经在我的iOS应用程序中集成了ADAL库,以便用于WAAD帐户的身份验证。在收到accessToken后,ADAL的登录屏幕会自动消失。现在,如果我尝试使用相同的登录代码以不同的用户登录,则不会显示任何新的登录屏幕,并且它会自动使用先前的用户进行登录并给出新的accessToken。如何清除先前登录的用户缓存?我使用下面的代码来清除缓存,但没有用。

  [authContext.tokenCacheStore removeAll]; // This method is no more available. Getting error for removeAll method. 
  [authContext.tokenCacheStore removeAllWithError:&error]; // It does not clear cache.

有没有办法清除缓存或显示登录界面?请帮我。提前感谢。


其实是同样的问题。你有得到任何答案吗? - human4
1
是的,我使用方法[authContext acquireTokenWithResource:resourceId clientId:clientId redirectUri:redirectUri promptBehavior:AD_PROMPT_REFRESH_SESSION userId:nil extraQueryParameters:nil completionBlock:^(ADAuthenticationResult *result) { }]; 将promptBehavior设置为AD_PROMPT_REFRESH_SESSION。 - Ganesh G
感谢 @GaneshGuturi - Himanth
1个回答

1
缓存清除意味着从钥匙串中删除令牌。这对Webview中的cookie没有影响。您应该使用promptbehavior.always标志,以确保用户在登录时被提示输入密码。

谢谢Kanishk。我将promptBehavior设置为AD_PROMPT_REFRESH_SESSION,它对我有效。 - Ganesh G

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接