如何在rails应用程序中存储github access_token



我想集成GitHub OAuth到我的rails应用程序,我不想使用第三方宝石,如OmniAuth, warden-github等。根据GitHub认证基础知识,我得到了access_token。指南将access_token存储到会话:

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

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

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

关于Rails如何使用session对象的更全面的描述,我强烈推荐Justin Weiss的文章。

最新更新