ruby-on-rails – 通过http标头传递真实性令牌
发布时间:2020-12-17 02:34:43 所属栏目:百科 来源:网络整理
导读:我有一个rails应用程序,它使用令牌来验证用户.目前我将令牌作为params传递.我想改变这个.我相信可以通过html标头传递它.我不明白如何使用authenticate_or_request_with_http_token do | token,options |. 我的rails应用程序实际上是我的 iphone客户端的服务
我有一个rails应用程序,它使用令牌来验证用户.目前我将令牌作为params传递.我想改变这个.我相信可以通过html标头传递它.我不明白如何使用authenticate_or_request_with_http_token do | token,options |.
我的rails应用程序实际上是我的 iphone客户端的服务器.我不懂的东西是: >我知道选项是nonce但是如何解决我的客户端和服务器之间的问题? 这是我的服务器会话控制器: 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 解决方法
要设置自定义标头,请使用response.headers.
就像是 response.headers["X-AUTH-TOKEN"] = auth_token 应该工作..阅读你使用的标题 request.headers["X-AUTH-TOKEN"] 命名中的X-是一个很好的惯例约定,所有自定义标题应该在前面有一个X-. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |