如何处理Omniauth中的访问令牌(来自Auth Hash)?

时间:2013-03-28 04:27:18

标签: ruby-on-rails oauth oauth-2.0 omniauth

我正在使用Devise和Omniauth,并跟踪railscast(http://railscasts.com/episodes/235-devise-and-omniauth-revised)。它只涉及:uid,:provider。没有涉及令牌(来自Oauth2)? (https://github.com/intridea/omniauth/wiki/Auth-Hash-Schema

所以,问题是如何处理访问令牌?例如,我使用omniauth-qq(https://github.com/beenhero/omniauth-qq)。你可以看到Auth Hash中有[:credentials] [:token]

顺便说一句,我只使用omniauth登录用户。

更新: 我的意思是我不知道如何处理rails中的Token。例如,将它存储在会话或其他内容中?这是我的代码,我根本没有处理过这个问题。有没有可以看到如何使用令牌的例子?

    def self.from_omniauth(auth)
      where(auth.slice(:provider, :uid)).first_or_create do |user|
        user.provider = auth.provider
        user.uid = auth.uid
        user.name = auth.info.nickname
        user.image = auth.info.image
      end
    end

2 个答案:

答案 0 :(得分:1)

我按照相同的截屏视频进行操作,但在令牌上没有任何操作。

如果您只使用它进行登录,则无需对其进行任何操作。

您需要令牌才能执行其他操作,例如在朋友列表上执行请求等。

答案 1 :(得分:0)

取决于你想要做什么...例如,如果你使用ominiauth-twitter或facebook,那些令牌对于验证你自己是有用的,你可以使用令牌来获取额外的信息,如图片,昵称等等