作为iOS上FaceBook身份验证的一部分登录我们的网站

时间:2012-08-10 19:03:52

标签: facebook facebook-ios-sdk

当用户点击我们网站上的Facebook登录按钮时,我们会致电:

https://www.facebook.com/dialog/oauth?client_id=xxxxxxx&
redirect_uri=http://xxxxx.com/Account/FBLogin&scope=email,publish_stream 

在我们的FBLogin(字符串代码)方法中,我们做了两件事。首先我们打电话:

"https://graph.facebook.com/oauth/access_token?client_id=xxxxxxxxx&
redirect_uri=http://xxxxxx.com/Account/FBLogin&client_secret=xxxxxxxxxxxxx&code=" + code;

然后,如果FaceBook登录成功,我们会将用户登录到我们的网站。

iOS中此工作流程的等效内容是什么?我们基本上想要在我们的服务器上验证用户身份,作为Facebook身份验证的一部分。因此,当Facebook身份验证成功返回时,我们的用户也会登录我们的系统。

非常感谢!

1 个答案:

答案 0 :(得分:0)

如果您使用的是Facebook iOS SDK,则SSO(单点登录)工作流程更像是Javascript SDK的工作流程,因为用户会看到类似于JS SDK的弹出窗口:以UIWebView,Safari浏览器或Facebook应用程序的形式(取决于用户的设置)。

  

iOS SDK最引人注目的功能之一是单点登录   (SSO)。 SSO允许用户使用Facebook登录您的应用   身份。如果他们已经登录Facebook iOS应用程序   他们的设备,他们不必输入用户名和密码。   此外,您可以获得用户访问权限的权限   Facebook个人资料信息和社交图谱。

     

SSO主要通过将用户重定向到他们的Facebook应用程序来工作   设备。由于用户已经登录Facebook,他们不会   需要输入用户名和密码才能识别自己。他们   将看到具有您的应用所要求的权限的Auth Dialog   for,并将被重定向到适当的移动应用程序   的access_token。

     

开发人员应该意识到Facebook SSO的行为会略有不同   根据用户设备上安装的内容而有所不同。这是   在某些iOS配置中会发生什么:

     
      
  • 如果应用程序在支持多任务处理的iOS版本中运行,   如果该设备具有3.2.3或更高版本的Facebook应用程序   安装后,SDK会尝试在其中打开Auth Dialog   Facebook应用程序用户授予或拒绝后,Facebook应用程序   重定向回调用应用程序,传递访问令牌,   到期,以及Facebook OAuth服务器可能的任何其他参数   返回。

  •   
  • 如果应用程序在支持多任务处理的iOS版本中运行,   但该设备没有3.2.3或更高版本的Facebook应用程序   安装得越大,SDK将在Safari中打开Auth Dialog   移动浏览器。用户授予或撤销授权后,   Safari重定向回调用应用程序。类似于Facebook应用程序   基于授权,这允许多个应用程序共享相同的   Facebook用户access_token通过Safari cookie。

  •   
  • 如果应用程序在不支持的iOS版本中运行   多任务处理,SDK使用弹出内联的旧机制   UIWebView,提示用户登录Facebook并授予访问权限。   FBSessionDelegate是您的应用应该的回调接口   实现:在应用程序时将调用委托方法   成功登录或注销。阅读iOS SDK文档   关于这个代表的更多细节。

  •   

...当用户完成登录或未登录并从“弹出窗口”返回您的应用时,您的应用必须根据用户是否登录/授权应用来决定做什么(并收到有效的访问令牌。

请阅读此内容以获取更多信息: https://developers.facebook.com/docs/mobile/ios/build/#implementsso