Чтобы добавить контекст ответа @max
«s, OmniAuth является извлечение OAuth (Open Authorization) ...
OAuth простой способ публиковать и взаимодействовать с защищенными данными. Это также более безопасный и безопасный способ доступа людей к вам. Мы сохранили это просто, чтобы сэкономить ваше время.
Всякий раз, когда у вас есть доверенный услуг, таких как Facebook
, Twitter
, LinkedIn
, GitHub
, NetFlix
, и т.д., и вы хотите использовать услугу в сочетании с предварительно встроенной связи на этих существующих услуг, вам будете нуждаться в безопасный способ „авторизовать“ использование этих данных ...
система
- а „CRM“, который позволяет „импортировать“ контакты из
LinkedIn
- А «социальный отправитель» система, которая позволяет отправлять сообщения своим
Facebook
друзей
- Рекомендуют новые фильмы основаны на том, что вы недавно наблюдали на
NetFlix
Большинство людей знают OAuth
силу " Разрешить доступ к уведомлениям»для Facebook
и т.д.:
Интерпретируя это самостоятельно приложение простое - вы хотите извлечь данные из Facebook
/Twitter
/LinkedIn
/GitHub
и т. д.?
Real использование OAuth должно быть расширить приложения.
Большинство пользователей лечить «запросы приложений» для своих данных социальных сетей, как расширение «социального» опыта (IE, если я разрешу app
доступ к моим FB
, я ожидаю, что это разместить на свою стену и т.д.).
Вместо того чтобы рассматривать его как способ, чтобы позволить пользователям войти в систему с Twitter
/Facebook
/LinkedIn
полномочий (что 100% в силе), вы должны думать о функциональности более высокого уровня. !
-
Разрабатывают = OmniAuth
Завещание является аутентификации системы; OAuth авторизация.
OmniAuth
расширяет OAuth
для аутентификации:
OmniAuth это библиотека, которая стандартизирует аутентификации нескольких провайдеров для веб-приложений.
Он заменяет email
/password
с Twitter API key
. Таким образом, всякий раз, когда вы создаете аутентификацию в своей системе, вам всегда нужно хранить данные User
и т. Д. - это , как, что данные аутентифицированы, что делает разницу.
Короче говоря, если вы хотите Sign in with Twitter
кнопки и т. Д., OmniAuth
рекомендуется. Однако, чтобы ваша аутентификация была последовательной, you'll be best using Devise
with OmniAuth.
-
Наконец, не свернуть свои собственные аутентификации если вы не реализованы Devise
по крайней мере 5 раз. Все проверки подлинности Rails работают аналогично (использует Warden
strategies). Не стоит тратить время на отладку вашей собственной системы, когда Devise
имеет 100 000 пользователей, которые работают над вами.