我有rails应用程序,它也可以作为api使用设计身份验证,就rails应用而言,身份验证很好。但是,在Rails-Api的情况下,为什么我需要传递auth_token?像传递auth_taken这样的书需要定制设计控制器,这似乎是一件痛苦的事情。使用rest客户端在请求主体中传递auth_token允许我通过Post方法登录,但我找不到任何响应。我需要自定义设备控制器吗?
需要帮助谢谢,
不希望将:auth_token
附加到客户端的POST/PUT
参数,而是将此令牌作为请求标头发送。
这就是你可以做到的-
class YourController < ApplicationController
prepend_before_filter :get_api_key
before_filter :authenticate_user!
private
def get_api_key
if api_key = params[:api_key].blank? && request.headers["X-API-KEY"]
params[:api_key] = api_key
end
end
end
并说你的授权密钥为设计设置像-这样的api密钥
config.token_authentication_key = :api_key
您还可以使用自定义策略,支持Devise中的令牌HTTP标头身份验证,如