Azure 認証に ADAL iOS ライブラリを使用しています。ただし、最初に 1 つのアカウントでサインオンし、次にサインアウトして別のアカウントでサインインすると、問題が発生します。「AD_PROMPT_ALWAYS」を設定しても、次のエラーが発生します。
2015-08-31 12:50:39.939 PortalDev[908:174411] ADALiOS [2015-08-31 11:50:39 - xxx-xxx-xxx-xxx-xxx] ERROR: Error raised: 19. Additional Information: Domain: ADAuthenticationErrorDomain ProtocolCode:(null) Details:Different user was authenticated. Expected: 'aaa@xxx.com'; Actual: 'bbb@xxx.com'. Either the user entered credentials for different user, or cookie for different logged user is present. Consider calling acquireToken with AD_PROMPT_ALWAYS to ignore the cookie.. ErrorCode: 19.
2015-08-31 12:50:39.943 PortalDev[908:174411] ADAL Error: 19, Different user was authenticated. Expected: 'aaa@xxx.com'; Actual: 'bbb@xxx.com'. Either the user entered credentials for different user, or cookie for different logged user is present. Consider calling acquireToken with AD_PROMPT_ALWAYS to ignore the cookie. (status: 2)
私はキャッシュをクリアし、私が思うクッキーを試してクリアしました:
if (allItems.count > 0) {
[cache removeAllWithError:&error];
if (error) {
CLSNSLog(@"Error clearing cache: %@", error.errorDetails);
} else {
CLSNSLog(@"Items removed.");
}
} else {
CLSNSLog(@"Was no user cached.");
}
NSHTTPCookieStorage* cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage];
NSArray* cookies = cookieStorage.cookies;
if (cookies.count)
{
for(NSHTTPCookie* cookie in cookies)
{
CLSNSLog(@"Deleting Auth Cookie %@.", cookie.name);
[cookieStorage deleteCookie:cookie];
}
CLSNSLog(@"Auth Cookies cleared.");
}
しかし、クリアするCookieはなかったと思います。ログオン Web ページを取得すると、ユーザー名が事前に入力されます。数週間/数か月前は問題なく動作すると思っていましたが、今は問題があるようです。今日、最新の GitHub ソースから新しいライブラリをビルドします。
ユーザー名の切り替えを可能にする方法について何か提案はありますか?