У меня есть приложение rails, которое использует токен для аутентификации пользователя. В настоящее время я передаю токен в качестве параметров. Я бы хотел изменить это. Я считаю, что это можно передать через html-заголовок. Я не понимаю, как использовать authenticate_or_request_with_http_token do |token, options|
. My rails app на самом деле является сервером для моего iphone-клиента. I вещи, которые я не понимаю, являются:Пропускать токен аутентификации через http-заголовок
Я знаю
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
Для установки пользовательских заголовков вы используете 'response.headers', что-то вроде' response.headers ["X-AUTH-TOKEN"] = auth_token' должно работать .., чтобы прочитать заголовок, который вы используете 'request.headers [" X -AUTH-TOKEN "]' – Orlando
это работает, спасибо. Если вы опубликуете его в качестве ответа, я соглашусь с ним :) – nupac