Rails为不同的用户保存唯一的令牌和秘密(REST api)

时间:2014-01-26 03:53:30

标签: ruby-on-rails ruby ruby-on-rails-3 rest fitbit

我正在使用fitgem(fitbit)api构建rails应用程序。目前,我可以通过创建.fitgem.yml文件让它为一个用户工作。我希望每个用户都能获得一个独特的.fitgem.yml文件。这怎么可能?

由于

.fitgem.yml

---
:oauth:
:consumer_key: [integers]
:consumer_secret: [integers]
:token: [integers]
:secret: [integers]
:user_id: [integers]

由于

1 个答案:

答案 0 :(得分:1)

来自Fitbit文档,

以下是OAuth工作流程概述:

https://wiki.fitbit.com/display/API/OAuth+Authentication+in+the+Fitbit+API#OAuthAuthenticationintheFitbitAPI-TheOAuthFlow

  • 基本上,您注册一个应用程序来使用Fitbit api,这需要您传递consumer_key并请求用户数据访问。这通常涉及列出应用程序需要执行的所有操作。

  • 然后,提供商会打开一个提示,告知用户输入凭据并批准授权以执行上述操作。

  • 用户登录并授权后,提供商会提供auth_token,应用程序需要在每次操作中传递该文件。

auth_token可以设置为在一定时间后过期,确保应用程序无法永久访问。

这样,您的应用程序不需要存储用户凭据,用户可以通过提供程序自由控制访问。

修改1

好的,为了处理OAuth提供商,我在很大程度上使用了OmniAuth gem,到目前为止没有任何问题。

OmniAuth Fitbit strategy,可以帮助您将Fitbit OAuth集成到rails应用程序中。