我开发了一个使用Oauth 2进行授权的Rails应用程序。目前为了访问 API 调用,我access_token作为 URL 参数传递,我听说令牌也可以作为标头传递。这是传递access_token的最佳实践,为什么?
我正在使用Devise + Doorkeeper获得Oauth支持。
请给我一些建议。
作为标题,您可以在控制器中这样做:
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
在
标头中看到access_token是很常见的。看:标题有什么用?它们用于有关请求的元信息。毫无疑问,访问令牌是元信息。
我不确定我的答案是否完整,可能还有一些我不知道的额外陷阱。如果我错了,请纠正我。