如何在rails app中存储github access_token?

时间:2015-09-01 11:02:10

标签: ruby-on-rails ruby github github-api

我想将GitHub OAuth集成到我的rails应用程序中,我不想使用第三方宝石,如OmniAuth,warden-github等。根据{{​​3}},我得到了access_token。指南将access_token存储到会话中:

...
session[:access_token] = JSON.parse(result)['access_token']
...

但是如果另一个用户通过github帐户登录我的应用程序,会话[:access_token]的值将被覆盖,如何处理这种情况?希望有人能给我一些好主意,提前谢谢!

1 个答案:

答案 0 :(得分:1)

正如@dimakura和@Max Williams都指出的那样--Rails将数据存储在cookie中的session对象中,该cookie存储在客户端/用户的计算机上。因此,每个用户都有自己的session[:access_token],您可以使用它来为该特定用户执行对GitHub API的调用。

有关Rails如何使用session对象的更详尽说明,我强烈推荐Justin Weiss this article