0

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

用户会将照片上传到 json rest 服务,但 rails 应用程序仅在使用通过这些提供商之一进行身份验证时才允许上传。

我已经检查了omniauth gem,但我不知道这是否是这样做的途径。我不太了解 oauth 的工作原理,所以我想知道这是否可行。

问候法克

4

1 回答 1

2

答案部分取决于您将如何通过移动应用程序提供身份。用户的身份验证和他们的身份是分离的。

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

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

由于 Oauth 和请求/身份提供程序的主题需要一些时间来理解,我会首先看他关注关于保护 API 的railscast 。一旦你完成了那个(并理解了这个概念),你也可以观看这个railscast

希望这可以帮助。

于 2012-11-14T22:30:42.910 回答