2012-11-14 37 views
0

我正在开发一个移动应用程序,它将与一个本质上是json api的rails应用程序进行交互。是否可以使用Facebook或Googleplus等外部身份提供程序来保护对我的API的访问?是否可以使用Facebook oauth来保护我的json API?

用户将照片上传到json rest服务,但rails应用只会允许上传,如果用户通过其中一个提供商进行身份验证。

我检查了omniauth宝石,但我不知道如果这是它的路径。我不太了解oauth是如何工作的,所以我想知道这是否可行。

问候 FAK

回答

2

答案部分取决于你打算如何通过移动应用程序提供身份。用户的认证和他们的身份被分离。

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

该主题有点复杂,以充分描述流程......但实质上:1)使用移动sdk在移动应用上创建令牌,2)将用户和令牌保存到Rails /数据库,3 )作为每个请求的一部分检查提供的access_token。

由于Oauth和请求/身份提供者的主题需要一定的时间才能理解,所以我首先会看到他遵循railscasts关于保护API。一旦你完成了那个(并理解了这个概念),你也可以看这个railscast

希望这会有所帮助。

相关问题