gpt4 book ai didi

android - 在 Android webview 上自动登录 Google 帐户

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:14:10 26 4
gpt4 key购买 nike

在过去的一周里,我用链接淹没了自己,让自己陷入了太多无法计数的圈子,所以我想我应该在这里提出这个问题。我有一个 Android 应用程序,它显示指向 url 的 webviews,用户必须使用他们的 Google 帐户登录才能看到(后端内置在 Google App Engine 中)。由于最终用户可能无论如何都会在他们的 Android 上登录他们的 Google 帐户,所以我希望登录过程是自动的。目前,在用户打开的第一个 webview 上,他们会看到 Google 登录表单和一个非常丑陋的后续页面,询问“您是否愿意允许 example.appspot.com 使用您的 Google 帐户?”

这个过程对用户体验来说是可怕的。我在这里和那里看到的关于自动登录的资源很少,但坦率地说,我迷失在几乎是我想要但不完全能够辨别我应该去的方向的海洋中.

我通读了Nick's有关使用 App Engine 对应用程序进行身份验证的教程,但仅拥有 token 并不能使我获得与后端每个 Google 帐户关联的唯一分配的用户 ID。最重要的是,以前的经验告诉我应用程序的 webview session 与应用程序的 HTTPClient session 不一致的困难方式。因此,即使我可以使用 Nick 的方法登录,也无法帮助我登录 webviews。

然后我遇到了this tutorial ,这实际上看起来很有前途,但到目前为止我还无法调整他的代码以适用于我自己的代码。

我还找到了this SO link这表明我需要做的就是将身份验证 token (我大概可以通过 Nick 的方法获得)传递到我作为 cookie 加载的每个 webview 中。

仅此而已。它们都是相当不同的方法,所以我想知道它们中的任何一个是否真的是我想要的。或者,如果某个地方确实存在一种相当简单的方法。如果有人知道这个问题的直接答案,我将不胜感激。谢谢!

最佳答案

出于安全原因WebViews无法访问手机的缓存、cookie 存储等,建议您使用新的 Chrome Custom Tabs可以自动登录您的用户。


关于“您愿意允许 example.appspot.com 使用您的 Google 帐户吗?”屏幕;这是标准 OAuth处理并要求用户登录并允许您的应用访问他们的帐户信息。

在您的“example.appspot.com”App Engine 应用程序中,如果您使用的 API 需要用户信息,例如 Google Calendar API,则需要您特别请求用户批准才能访问此信息。

一旦获得他们的批准,您就可以保存 access and refresh tokens代表他们进行 future 的 API 调用,而无需反复征得用户同意。您可以在 OAuth 2.0 Playground 中看到整个 Oauth 流程是如何工作的。 .

即使您自动让用户登录,他们仍然会看到批准页面,请求您的应用访问他们的信息。开发黑客技术以代表他们强制批准对用户信息的访问是一项重大的安全违规行为。


可以看看新的Firebase Authentication流以轻松管理用户在 App Engine 应用程序中的 Oauth 体验。

关于android - 在 Android webview 上自动登录 Google 帐户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27586957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com