Создайте случайный токен в ruby> = 2.5.1 /> = rails 5 - PullRequest
1 голос
/ 26 мая 2019

Я вижу из здесь , что has_secure_token может генерировать случайный токен для новой записи в (пользовательской) модели.Как я могу просто сгенерировать случайный токен без необходимости делать это для модели?(то есть предположим, что приложение не имеет модели (ей) или, проще говоря, запускает какой-то (желательно очень простой) метод, и оно должно возвращать случайную строку, такую ​​как pX27zsMN2ViQKta1bGfLmVJE

Я пробовал гемы SecureRandom и дайджест , как рекомендовано в других ответах, но ни один из них, похоже, не установил пакет успешно (ответы SO были устаревшими, поэтому, возможно, эти гемы устарели?) - Я 'm с использованием ruby ​​2.5.1 и rails 5.2.3

Моя цель - просто сгенерировать токены для использования в качестве ключей для API, поэтому мне просто нужны случайно сгенерированные строки, которые можно безопасно использовать в URL, возможно,метод, который я могу указать длину токена (но я возьму то, что я могу получить сейчас!)

1 Ответ

2 голосов
/ 26 мая 2019

Просто используйте SecureRandom. Это не драгоценный камень, который вы должны установить. Он встроен в Ruby:

⇒ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin18]
⇒ irb
2.5.1 :001 > require 'securerandom'
 => true
2.5.1 :002 > SecureRandom.hex(32)
 => "89d45edb28859a905672b707c8f7599f766d12074584ef48a997230dfc0e0998"
2.5.1 :003 > SecureRandom.base64(12)
 => "KaZbhQ7o7U/f9pMs"
2.5.1 :004 > SecureRandom.uuid
 => "ade17ef5-0943-4c70-b417-df7c96c198cd"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...