5

トークンを使用してユーザーを認証する Rails アプリケーションがあります。現在、トークンをパラメーターとして渡しています。これを変更したいと思います。HTMLヘッダーを介して渡すことは可能だと思います。使い方がわかりませんauthenticate_or_request_with_http_token do |token, options|。私の Rails アプリは、実際には iPhone クライアントのサーバーです。私が理解していないことは次のとおりです。

  1. ノンスであることはわかってoptionsいますが、クライアントとサーバーの間でどのように機能しますか?

  2. サーバーコードでこれを実際に使用するにはどうすればよいですか。

  3. ヘッダーでトークンを確認するために使用できます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
4

1 に答える 1