我想将GitHub OAuth集成到我的rails应用程序中,我不想使用第三方宝石,如OmniAuth,warden-github等。根据{{3}},我得到了access_token。指南将access_token存储到会话中:
...
session[:access_token] = JSON.parse(result)['access_token']
...
但是如果另一个用户通过github帐户登录我的应用程序,会话[:access_token]的值将被覆盖,如何处理这种情况?希望有人能给我一些好主意,提前谢谢!
答案 0 :(得分:1)
正如@dimakura和@Max Williams都指出的那样--Rails将数据存储在cookie中的session
对象中,该cookie存储在客户端/用户的计算机上。因此,每个用户都有自己的session[:access_token]
,您可以使用它来为该特定用户执行对GitHub API的调用。
有关Rails如何使用session
对象的更详尽说明,我强烈推荐Justin Weiss this article。