Ruby on Rails: perishable_token без Authlogic? - PullRequest
0 голосов
/ 26 апреля 2011

Я использовал регистрацию и вход в систему, как реализовано в http://ruby.railstutorial.org/ без каких-либо драгоценных камней для аутентификации. Однако теперь, когда я пытаюсь активировать пользователей, отправляя им случайно сгенерированные URL-адреса, у меня возникли проблемы здесь. Я искал в Интернете и видел некоторых людей, которые использовали Perishable_token Authlogic для генерации этого, но так как я вообще не использовал Authlogic, мне было интересно, может ли быть способ генерировать это без использования каких-либо других драгоценных камней. Какой-нибудь совет от профессионалов рельсов там? Спасибо

Ответы [ 2 ]

3 голосов
/ 26 апреля 2011

Есть много способов достичь этого. Сначала вы должны решить, как вы хотите сгенерировать токен. Вы можете просто создать md5hash, используя некоторые данные о пользователе, такие как электронная почта, вместе с другим фрагментом исходных данных, например Time.now, и сохранить его как «perishable_token» для пользователя.

Затем можно переопределить метод доступа для считывателя для perishable_token, чтобы сгенерировать другой токен и обновить модель пользователя.

before_save :generate_perishable_token

def generate_perishable_token
  self.perishable_token = Digest::MD5.hexdigest("#{Time.now}-#{self.email}")
end

def perishable_token
  generate_perishable_token
  save
end

Выше приведен лишь небольшой псевдокод, но он должен понять суть.

1 голос
/ 26 апреля 2011

Полагаю, простым способом было бы просто сгенерировать случайную строку / число для использования в качестве perishable_token

вопрос о генерации случайной строки здесь вы можете посмотреть для начала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...