传递access_token以进行API调用的最佳做法是什么

时间:2013-01-24 06:42:22

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

我开发了一个使用Oauth 2进行授权的Rails应用程序。 目前,为了访问API调用,我将access_token作为URL参数传递,我听说令牌也可以作为Header传递。 传递access_token的最佳做法是什么?为什么?

我正在使用Devise + Doorkeeper来支持Oauth。

请给我一些建议..

2 个答案:

答案 0 :(得分:1)

作为标题,你可以在控制器中这样做:

before_filter :authenticate

protected

def current_user
  @current_user
end

def authenticate
  token = request.env["HTTP_ACCESS_TOKEN"]
  @current_user = User.where(authentication_token: token).first if token.present?
  unless token && current_user.present?
    #error handling goes here.
  end
end

答案 1 :(得分:0)

在Headers中看到access_token很常见。 看:标题是什么?它们用于关于请求的元信息。毫无疑问,无疑是一种元信息。

我不确定我的答案是否完整,可能会有一些我不知道的额外陷阱。如果我错了,请纠正我。