2016-07-07 33 views
0

我正在開發一個android應用程序。我希望能夠強制完成註銷,並且在我再次呼叫登錄時擁有它,用戶實際上被迫鍵入他們的用戶名和密碼。我知道這很容易與谷歌API,但我想使用內置的支持,天藍色的優惠。Azure Auth - 強制使用mobileServicesClient完成註銷

目前,調用mclient.logout()或獲取mclient的新實例似乎不起作用(即使刪除了所有標記)。它仍然以某種方式似乎記得當我打電話給mclient.login時第一次選擇哪個帳戶,因爲谷歌窗口彈出後立即關閉而不顯示任何內容,並自動登錄到我第一次登錄的帳戶。我想強制用戶在註銷並重新登錄後輸入他們的谷歌信息。

我發現迄今爲止強制用戶重新輸入信息的唯一方法是刪除整個應用程序數據/高速緩存。

然後,當我再次調用mclient.login()時,用戶被迫重新鍵入他們的信息。但是,這並不理想,因爲我將其他內容存儲在緩存中,我不想每次都刪除它們。

有人可以指引我正確的方向,或告訴我什麼確切的文件/文件夾我需要從緩存中刪除,以防止Azure /谷歌嘗試使用第一次使用相同的帳戶。

爲什麼會發生這種情況?這似乎是調用logout(),然後登錄()應該強制重新登錄,但它不會 Azure /谷歌在後臺做某事記住我使用哪個帳戶,即使刪除了所有登錄標記和一個全新的mclient的實例

回答

0

mclient.login()不起作用,因爲chrome瀏覽器已將登錄信息存儲在cookie中,並且下次您通過身份驗證提供程序login時,瀏覽器將自動讀取cookie並完成登錄流程。

請嘗試以下代碼刪除cookie時註銷:

mClient.logout(); 
    CookieManager cookieManager = CookieManager.getInstance(); 
    cookieManager.removeAllCookie();