我已经建立了一个使用 DotNetOpenAuth 执行 OAuth / OpenID 职责的站点,并且该站点还使用定制的 ASP.NET 成员身份实现提供本地登录。该站点通过直接访问安全数据库来管理用户帐户和用户配置文件。
但是,通常在数据访问层中的所有内容都是作为受 DotNetOpenAuth 保护的 WebAPI 实现的。最重要的是,我们将提供适用于 android 和 iOS 的移动应用程序,让用户可以使用 API 和由任何关心的第三方开发的自定义 UI。
我不确定的是,如果用户使用诸如 Facebook 之类的 OpenID 提供商创建帐户,移动应用程序如何让用户登录?
我注意到 LinkedIn 确实允许用户使用他们的 Facebook 帐户 (https://www.linkedin.com/reg/join) 登录,所以当 LinkedIn 移动应用程序只提供用户名/密码组合时,它将如何处理这种情况在登录屏幕上?
如果您单击移动应用程序上的 LinkedIn 注册链接,它不会提供使用 Facebook 登录选项。只有在浏览器中才允许使用 Facebook 选项登录。
有没有人知道这一切是如何在后台挂在一起的?最初使用 Facebook 登录的用户如何使用移动应用访问同一个帐户?
在我看来,到目前为止我看过的主要参与者(FB、LinkedIn)他们的移动应用程序只能使用他们系统上的本地帐户。Facebook 只有本地帐户,所以在这种情况下这不是问题。
我对此感到很困惑,glib 的答案似乎是移动应用程序仅适用于您调用的服务器能够直接验证和授权用户的本地帐户,而不是通过第三方,因为这需要访问浏览器 cookie有关他们用于创建帐户的服务的信息。
对此的任何见解将不胜感激,因为除非用户拥有本地帐户,否则我看不到使其工作的方法。
谢谢,