有没有一种方法可以实现 oAuth 流程,而无需实际启动浏览器甚至是 android 上的 webview?
我想展示的是一个本机弹出窗口,它询问用户凭据,然后将其提供给 oAuth 提供者。
严格来说不,OAuth 的主要思想是您永远不应该以任何方式处理用户的凭据。
但这取决于提供者。例如,Twitter 使用他们自己发明的 xAuth,您可以在其中发送用户名和密码以换取访问令牌。不过,Twitter 只允许那些能够很好地激发这种需求的应用程序。
因此,请与 API 提供者核实是否有可能以某种方式进行。
最近我做了一些关于在不使用浏览器或 webview 的情况下实现 oAuth 的研究。如今,某些平台已经通过使用他们的 SDK (如 google)拥有原生方式:https ://developers.google.com/identity/sign-in/android/,linkedin: https : //developer.linkedin.com/docs/android-sdk -身份验证#。您也可以搜索其他平台。
我看到的另一个机会是使用谷歌“Firebase”:https ://firebase.google.com/docs/auth/ 。尽管我还没有真正尝试实现它,但据我了解,我们可以在 HTML 上创建自己的自定义输入并将其传递给他们的 Javascript oAuth SDK 以进行凭据登录事务。只是我猜我们也可以使用 android 原生界面来做到这一点。
非常欢迎任何更正。谢谢。