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