我有一个使用令牌对用户进行身份验证的 Rails 应用程序。目前我将令牌作为参数传递。我想改变这一点。我相信可以通过 html 标头传递它。我不明白如何使用authenticate_or_request_with_http_token do |token, options|
。我的 rails 应用程序实际上是我的 iphone 客户端的服务器。我不明白的事情是:
我知道
options
是随机数,但我的客户端和服务器之间将如何解决?我如何在我的服务器代码中实际使用它。
我可以
authenticate_or_request_with_http_token do |token, options|
用来检查标头中的令牌,但是一旦成功创建会话,如何将其插入标头。
这是我的服务器会话控制器:
def create
if @user && @user.authenticate(params[:password])
# @token = @user.auth_token
@user.auth_token = SecureRandom.hex
@user.save
respond_to do |format|
format.json {render :json => {:status => "200", :message => "Logged in successfully", :auth_token => @user.auth_token}}
end
else
respond_to do |format|
format.json {render :json => {:status => "401", :message => "wrong credentials"}}
end
end
end
def destroy
if(@user)
@user.auth_token = ""
@user.save
respond_to do |format|
format.json {render :json => {:status => "200", :message => "logged out successfully"}}
end
else
respond_to do |format|
format.json {render :json => {:status => "401", :message => "No User"}}
end
end
end
def user
@user = User.find_by_auth_token(params[:auth_token])
end