Разработать токен аутентификации - PullRequest
8 голосов
/ 14 декабря 2011

Как я могу получить доступ к токену аутентификации пользователя. Когда вызов ajax инициирует сеанс пользователя, мне нужно иметь возможность получить токен аутентификации пользователя. Я пытался сделать что-то вроде добавления: token_authenticable в моей модели

devise :database_authenticatable, :registerable,
     :recoverable, :rememberable, :trackable, :validatable

также добавление атрибутов имен, таких как: authentication_token и: authenticity_token, в attr_accessible. Но каждый раз, когда я пытаюсь вызвать authentication_token или this authenticity_token пользователя с user.auth ... я получаю такие ошибки

NoMethodError: undefined method `authentication_token' for #<User:0x000001016b1140>

Извините, мне нужно, чтобы этот токен отправлялся с моими вызовами ajax (в последнем проекте, над которым я работал, у меня было невероятно BOOTLEG-решение, где devise было почти вырвано из приложения, мне просто нужен этот чертов токен)

1 Ответ

8 голосов
/ 14 декабря 2011

Это исправлено включением модуля :token_authenticatable в пользовательскую модель devise:

devise :token_authenticatable, ...

Также метод определен в самом классе, а не в экземпляре. Назовите это как User.authentication_token.

Смотрите здесь: https://github.com/plataformatec/devise/blob/master/lib/devise/models/token_authenticatable.rb#L61-63.

...