Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 如何通过Facebook登录认证门卫?_Ruby On Rails_Facebook_Facebook Graph Api_Devise_Doorkeeper - Fatal编程技术网

Ruby on rails 如何通过Facebook登录认证门卫?

Ruby on rails 如何通过Facebook登录认证门卫?,ruby-on-rails,facebook,facebook-graph-api,devise,doorkeeper,Ruby On Rails,Facebook,Facebook Graph Api,Devise,Doorkeeper,我有一个rails应用程序,我的用户可以通过Desive gem和Omniauth facebook gem登录。他们可以是“普通”用户或facebook用户。所有这些都正常工作 我在这个应用程序中有一个API,也是通过门卫认证的。从我的移动客户端,我可以发送用户和密码,他们可以使用访问令牌访问我的API。这是正确的 现在,我希望我的facebook用户能够通过他们的facebook登录从移动应用程序访问我的API。有人知道我是怎么做到的?登录facebook后,我将拥有一个令牌,我将能够访问有

我有一个rails应用程序,我的用户可以通过Desive gem和Omniauth facebook gem登录。他们可以是“普通”用户或facebook用户。所有这些都正常工作

我在这个应用程序中有一个API,也是通过门卫认证的。从我的移动客户端,我可以发送用户和密码,他们可以使用访问令牌访问我的API。这是正确的

现在,我希望我的facebook用户能够通过他们的facebook登录从移动应用程序访问我的API。有人知道我是怎么做到的?登录facebook后,我将拥有一个令牌,我将能够访问有关该用户的一些信息。。。但我如何连接到API呢

注意:当您使用facebook登录rails应用程序时,Desive将创建一个具有提供者和uid字段的新用户


有什么想法吗?非常感谢。

我想您正在寻找这个

我可以通过以下步骤实现这一点:

  • 通过客户端的facebook SDK检索facebook
  • 公开API,如
    /facebook/login?facebook\u token=XXX
  • 一旦我从客户端获得facebook_令牌,我就可以从facebook检索用户信息(包括电子邮件)
  • 通过电子邮件对用户进行身份验证
  • 为该用户生成一个
    Doorkeeper::Token
    ,并将其发送回客户端

  • 你是怎么解决的?