android - 使 Android WebView 不存储 cookie 或密码

标签 android cookies oauth passwords webview

我使用 Android WebView for Twitter OAuth : Twitter 要求用户登录并授权应用程序,我检索访问 token 并将其保存在我的应用程序中。

我不需要(也不会)存储用户密码,但 WebView 会保留 Twitter 的 cookie,它还会询问用户是否希望它记住密码。因此,即使在通过他的 Twitter 帐户页面取消了应用程序的授权,并且我的应用程序销毁了访问 token 后,下次打开 WebView 时,它可能仍然处于登录状态,即使没有,它也有密码框已填满。

如何强制 WebView 不要求记住密码,也不保留 session cookie? 如果这不可能,我可以删除它所有存储的状态(可能图像缓存除外)吗?

最佳答案

您可以使用它来防止存储 cookie 并清除已存储的 cookie:

CookieSyncManager.createInstance(this);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.removeAllCookies(callback);
cookieManager.setAcceptCookie(false);

WebView webview = new WebView(this);
WebSettings ws = webview.getSettings();
ws.setSaveFormData(false);
ws.setSavePassword(false); // Not needed for API level 18 or greater (deprecated)

关于android - 使 Android WebView 不存储 cookie 或密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5404274/

相关文章:

c# - Cookie 在 MAC -Safari 和 IOS Mobile- Safari 中不起作用

git - 如何使用 token 操作 Bitbucket 存储库?

php - 从 Android 应用程序连接和更新 php 服务器

android - 询问多个权限 Android

perl cookie 时间错误

php - Laravel session ID 随每个请求而变化

android - Android 中 EditText 的不同颜色

java - 使用从 "App A"到 "App B"的 URI 在 Intentw 中传递参数 -Android

oauth - 如何更改 Google 同意屏幕电子邮件?

node.js - 使用 OAuth 通过 REST API 从 Magento 到 NodeJS