众所周知,Twitter、Facebook 等社交网络都有自己的移动应用程序。其他 3rd 方应用程序使用他们的 API,在注册应用程序后只能通过 OAuth 协议进行身份验证。
那么 Facebook、Twitter、Foursquare 等究竟是如何通过“用户名”和“密码”的身份验证在自己的移动应用程序上访问他们的 API 的呢?我不认为他们只是在每个请求中发送用户名和密码作为参数。
更重要的一点是,当您登录这些官方移动应用程序时,您不会遇到 Web 界面,请求许可并具有 OAuth 过程中存在的“允许此应用程序”按钮。他们默认经过身份验证!
在调查时我遇到了XAuth,但是在观看了它的介绍视频之后,它似乎是浏览器上的共享存储。我不是在寻找那个,然后我在 Twitter 中遇到了 xAuth 的使用。它通过 SSL 发送一次用户名/密码进行身份验证,然后服务器发出 OAuth 令牌/秘密对。(这看起来像 OAuth v1 而不是 v2,这并不酷。)
它看起来像我正在寻找的东西,但我不太确定。除了维护 xAuth 需要的 OAuth 服务器之外,还有其他选择吗?因为在我的用例中,可能根本不存在第 3 方应用程序。