之前,我安装的应用程序(桌面应用程序)使用 gdata-java-client 和 ClientLogin
机制,供用户访问 Google 服务。
为了提供无缝体验,桌面应用程序将以加密格式存储用户之前输入的用户名和密码。每当用户想要访问Google服务时,桌面应用程序都会自动帮助用户填写用户名+密码信息。 (即使应用程序重新启动后)用户只需单击一下按钮即可访问 Google 服务。
我计划将代码迁移到 google-api-java-client,并使用 OAuth 2.0。由于我的桌面应用程序无法控制用户输入的用户名和密码,因此用户每次希望使用 Google 服务时都会收到以下 Windows 提示。
用户流程似乎不再无缝,因为每次应用程序重新启动后,用户都需要处理浏览器窗口。 有什么方法可以让我的桌面应用程序记住他们的登录信息,这样他们就不需要在每次应用程序重新启动时响应浏览器窗口?
最佳答案
很好的问题。是的,我们现在正在研究这个问题。功能请求是 here ,正在审核的变更集是 here 。我们的计划是在 7 月的某个时间在下一个版本 1.11.0-beta 中提供它。现在,请随意将 FileCredentialStore 从变更集修补到您的应用程序中并尝试一下。有关 Java 客户端库中 OAuth 2.0 支持的更多文档,请参阅 here (将针对 1.11.0-beta 进行更新,包含有关 FileCredentialStore 的信息)。
关于oauth - 使用 google-api-java-client + OAuth 2.0(已安装的应用程序)改善登录体验,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10911586/