2013-07-11 2 views
0

У меня есть приложение ember, использующее API Rails с приложением для аутентификации, более или менее следуя проекту ember-auth-demo github.EmberAuth and Rails 3 - сеанс cookie палочки вокруг после выписки, рельсы обрабатывают пользователя как аутентифицированный

Все работает, но в моем тестировании я заметил, что если я подпишу в и и затем попытаться зарегистрировать новую учетную запись, рельсы жалуется:

Filter chain halted as :require_no_authentication rendered or redirected 
Completed 302 Found in 2ms (ActiveRecord: 0.2ms) 

Googling показал, что это предотвратить аутентифицированные пользователи от создания новых учетных записей, которые кажутся правильной политикой, я не должен обязательно обходить.

Однако, это любопытно, потому что мое внешнее приложение ember не находится в аутентифицированном состоянии. Глядя на мой местный магазин печенья, remember_token успешно уничтожается при выводе. Однако cookie сеанса все еще висит вокруг. Если я вручную уничтожу это, тогда все вернется к работе, как ожидалось, пользователь не считается аутентифицированным внутренним приложением и нормально обрабатывает запрос.

Для краткости соответствующие файлы в этом суть: https://gist.github.com/DVG/5975064, но мои функции sign_out здесь:

#EmberAuth Signout Method 
App.ApplicationController = Ember.Controller.extend 
    signOut: -> 
    App.Auth.signOut() 
    App.Auth.destroySession() 

#Rails SessionsController#destroy 
def destroy 
    return missing_params unless params[:auth_token] 

    resource = resource_class.find_by_authentication_token(params[:auth_token]) 
    return invalid_credentials unless resource 

    resource.reset_authentication_token! 
    render json: {user_id: resource.id}, status: 200 
end 

ответ

0

Этот вопрос я хранил маркер в сессии. Пришлось отключить его:

config.skip_session_storage = [:http_auth, :token_auth] 

в DEViSE инициализаторе

Смежные вопросы