Как сгенерить куку для сохранения в Ubuntu перед открытием браузера?
Как сгенерить куку для сохранения в системе без участия браузера?
Хочу сгенерить в приложении cookie value для пользователя, имея логин, чтобы сохранить в системе пользователя. Фактически, сделать то, что произойдёт после авторизации пользователя в браузере через ввод login/password, избавив пользователя от необходимости ввода пароля, используя только login.
Хочу сгенерить cookie value для сохранения в системе пользователя (сделать это за браузер). Фактически, сделать то, что произойдёт после авторизации пользователя в браузере через ввод login/password.
В системе пользователя вам без его согласия сделать ничего не дано.
Используете devise или что-то другое?
Как насчет простой вещи "запомнить меня на сайте"?
Сергей Краснодемский: это внутренняя система и у нас уже используется такой подход, но для приложения на Rails 3.
Нет, devise не используется, самописная авторизация, самая простая (Redmine).
"Запомнить меня на сайте" требует единовременного ввода пароля, а суть как раз в том, чтобы не вводить пароль. Сейчас реализован вход в учётную запись Ubuntu по паролю в админке ActiveAdmin (авторизация в админке происходит автоматически). Но это для Rails 3. А для Rails 4 я пока не смог сгенерировать правильное значение. Есть только мануалы по декодированию данных сессии, а не наоборот.
Я не сталкивался еще с подобной задачей, довольно интересно.
Не понятна фраза "Сейчас реализован вход в учётную запись Ubuntu по паролю в админке ActiveAdmin (авторизация в админке происходит автоматически)"
Т.е выходит что пользователи дважды авторизуются автоматически и в ActiveAdmin и в Убунту.
Сергей Краснодемский: Нет, всё хитрее. Есть стандартная учётка в ubuntu (robot). Пользователь логинится, вводя свой логин и пароль от админки, система пускает его внутрь и получает из админки (rails 3) куку, кладёт её в профиль Chrome. Когда пользователь входит в админку, он уже залогинен. Вот по такой же схеме нужно сделать генерацию куки для Rails 4.
По идее warden работает с четверкой, я не тестировал.
Из его Gemfile
gem 'rails', ENV['RAILS_VERSION'] || '>= 3'
Добавьте его, останется доработать генератор сессий.
Будет лучше написать плагин или пользовательский скрипт к браузеру, который и будет выполнять авторизацию. Скрипт может общаться с приложением на пользовательском ПК через вебсокет, а приложение может защищенным образом передавать скрипту например логин пользователя, который в данный момент работает в системе.