Pull to refresh

Comments 19

Это всё хорошо, когда есть один сайт со своей регистрацией и больше никто не нужен. При наличии нескольких проектов с общей базой юзеров гораздо проще воспользоваться rubycas, заодно получаем халявный Single sign-on.
> К сожалению, русскоязычной информации по данному гему очень мало

А зачем она нужна при наличии целого вагона англоязычной информации?
Не все хорошо владеют английским языком. Да и те кто владеют, по-моему, лучше воспринимают информацию на родном языке, на котором говорят каждый день. Я могу ошибаться, но это мое мнение.

В статье попытался организовать информацию по настройке гема в виде туториала, чтобы разработчик в случае, если ему когда-нибудь еще нужно будет настроить аутентификацию в новом проекте, смог открыть эту статью из закладок и произвести пошаговую настройку. В частности, писал еще эту статью и для себя, так как знаю, что настроив гем сегодня, не вспомню как это делал год назад — проще воспользоваться статьей, где все шаги зафиксированы.
Просто есть RailsCasts.
А английский язык надо учить, без него далеко не уйдешь, особенно в IT.
Согласен с Вами на все 100%. Сам, особенно в последнее время, активно совершенствую свой английский потому что понимаю, что вся основная документация по IT написана именно на нем. Но, если на хабре публикуют переводы, значит они кому-то нужны.
Я всегда ощущаю себя каким-то старым пердуном, когда смотрю на devise. Ну нах это все нужно, нах столько городить ради простой авторизации.
Да, current_user — хорошо. А когда дело дошло до авторизации через SMS ( и id у юзера был телефон, а не email), я помню выломал нафиг его из проекта и больше к нему не возвращался. :/
Ну, там не настолько уж и много всего. Это же универсальный компонент, в котором есть восстановление пароля, подтверждение по e-mail и так далее.
Другое дело, что давно пора отказываться от всего этого в пользу OAuth, используя, например, Omniauth (https://github.com/intridea/omniauth)
Вам ничего не мешает использовать OAuth и devise.
И? Я писал о том, что нужно отказываться от обычной авторизации в пользу только OAuth. При чем тут что я могу и что не могу?
Очевидно, я не совсем точно вас понял.
Devise подключается за одну минуту и отключается тоже за одну минуту. Поэтому термин «городить» в условиях простой авторизации девайсом звучит несколько… лицемерно, что ли.
В большинстве случаев девайс предоставляет необходимый и достаточный функционал, за одну минуту.
Во-первых, аутентификации.
Во-вторых, реализация минимально необходимой обкрутки практически любой аутентификации: регистрация, правильное хранение и восстановление ключа, контроль времени сессии, блокировка аккаунта — занимает существенно больше времени, чем «сунуть в куку идентификатор сессии».

Если на вашем проекте всё это не нужно, то очевидно, что devise не для вас. Зачем вообще гвозди микроскопом забивать?
вольный пересказ Ryan Bates и/или devise readme.
надеюсь, последуют другие части с большей пользой. например, как добавить поля авторизации в строку меню или в поп-ап, нестандартную авторизацию и пр.
Забыли добавить к ссылке для выхода "method: :delete"
Девайз довольно сложно поддается кастомизации — это раз.
У девайза довольно сомнительная архитектура(например посылает письма из модели) — это два.
Девайз довольно тяжелый, что добавляет времени для прохождения тестов — это три.
Альтернативы:
github.com/NoamB/sorcery — от EvilMartians
railscasts.com/episodes/270-authentication-in-rails-3-1 — самописная

Конечно, девайз дает довольно мощный инструмент за пару минут, но если вдруг придется как-то кастомизировать аутентификацию, то вы столкнетесь с огромным скопом проблем, которые заставят вас потратить не один час гугления в поисках решения.
Девайз довольно сложно поддается кастомизации — это раз.

Не спорю. Devise лучше использовать как коробочный вариант — когда вы точно знаете, что вам нужно и этот гем изначально отвечает всем поставленным требованиям.

Девайз довольно тяжелый, что добавляет времени для прохождения тестов — это три.

Здесь нужно выбирать: либо разработчик хочет решение из коробки со всеми плюшками, либо ему нужно что-то быстрое и у него есть в запасе достаточно времени на настройку и тестирование.

railscasts.com/episodes/270-authentication-in-rails-3-1 — самописная

Думаю, что смысл есть лишь в двух случаях:
1. для самообразования;
2. у вас супер-пупер крутая система и вам нужно собственная уникальная система авторизации.

Во всех остальных случаях лучше не изобретать велосипеды, а использовать готовые решения. Благо, что ruby-сообщество может похвастаться разнообразием.

github.com/NoamB/sorcery — от EvilMartians

Большое спасибо Вам. Обязательно, в свободное время рассмотрю эту альтернативу.
Господи! Спасибо тебе, добрый человек, за такую базовую, обзорную статью! (не сарказм)
Sign up to leave a comment.

Articles