Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/55.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 oauth保护我的json API吗?_Ruby On Rails_Facebook_Rest_Oauth_Omniauth - Fatal编程技术网

Ruby on rails 可以使用facebook oauth保护我的json API吗?

Ruby on rails 可以使用facebook oauth保护我的json API吗?,ruby-on-rails,facebook,rest,oauth,omniauth,Ruby On Rails,Facebook,Rest,Oauth,Omniauth,我正在开发一个移动应用程序,它将与本质上是json api的rails应用程序交互。是否可以使用外部身份提供商(如facebook或googleplus)来保护对我的API的访问 用户会将照片上传到json rest服务,但rails应用程序只允许上传,前提是使用经过其中一个提供商的身份验证 我已经检查了omniauth gem,但我不知道这是否是实现它的途径。我不太了解oauth是如何工作的,所以我想知道这是否可行 问候 Fak答案在一定程度上取决于你将如何通过移动应用程序提供身份信息。用户的

我正在开发一个移动应用程序,它将与本质上是json api的rails应用程序交互。是否可以使用外部身份提供商(如facebook或googleplus)来保护对我的API的访问

用户会将照片上传到json rest服务,但rails应用程序只允许上传,前提是使用经过其中一个提供商的身份验证

我已经检查了omniauth gem,但我不知道这是否是实现它的途径。我不太了解oauth是如何工作的,所以我想知道这是否可行

问候
Fak

答案在一定程度上取决于你将如何通过移动应用程序提供身份信息。用户的身份验证及其身份是解耦的

我猜您希望用户使用Google/Facebook sdk应用程序端对移动应用程序进行身份验证。为此,您需要使用该sdk生成一个令牌,然后将其保存到Rails。然后,令牌可以作为每个API请求的一部分被需要,rails将对其进行验证

这个主题要完全描述流程有点复杂……但本质上是:1)使用移动sdk在移动应用程序上创建令牌,2)将用户和令牌保存到Rails/数据库,3)作为每个请求的一部分检查提供的访问令牌

由于Oauth和请求/身份提供程序的主题需要一些时间才能理解,因此我首先要看他如何保护API。一旦你完成了这个(并且理解了这个概念),你也可以观看这个

希望这有帮助