Omniauth против oauth-plugin

Я пытаюсь выяснить различия между omniauth (https://github.com/intridea/omniauth) и oauth-plugin - (https://github.com/pelle/oauth-plugin)

Я просто ищу способ, чтобы мои пользователи могли аутентифицироваться (Twitter, Facebook и т.д.) в моем приложении.

Я знаю, что omniauth предоставляет это, но я использую рельсы 2.3.10, которые, как мне кажется, не поддерживаются omniauth. Могу ли я использовать oauth-plugin? У него также, как представляется, гораздо меньше зависимостей. Любые мысли оцениваются.

Ответ 1

Omniauth - это мега-авторизационная жемчужина, предоставляющая вам доступ к процессам OAuth для всего списка веб-сервисов (Twitter, Facebook, Foursquare, Gowalla, Netflix, YouTube и т.д. и т.д.), поэтому вы можете вызывать конкретные функции для каждой службы и быстро настроить ее.

Вы упомянутый oauth-plugin просто настраиваете вас на общую настройку OAuth, и вам нужно будет подключать API для каждой службы самостоятельно. Более легкий, поэтому, если вам нужны только сервисы Twitter, например, это может быть лучшим способом, хотя я, вероятно, все же, возможно, проверю Omniauth, чтобы узнать, насколько велика производительность, потому что это будет много проще в использовании.

Ответ 2

Я должен не согласиться с предыдущими ответами.

oauth-plugin является

плагин для реализации OAuth Провайдеров и потребителей в приложениях Rails. 1

Он предоставляет два генератора (один для реализации поставщика OAuth, один для потребителя), который создает модели, представления и контроллеры. То, как работают контроллеры, заключается в том, что они являются подклассами контроллеров, определенных в драгоценном камне. Он очень глубоко связан с Rails и может делать только OAuth.

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

Конкретно это означает, что вы настроили две конечные точки (/auth/:provider и /auth/:provider/callback), попросите вашего пользователя пройти аутентификацию у провайдера и получите хеш с информацией пользователя в ответ.

TL; DR

Если вам нужна только аутентификация через Facebook/Twitter/OAuth/etc (т.е. вы хотите быть потребителем OAuth), то omniauth определенно более легкий.

Если вы хотите запустить провайдера OAuth, oauth-plugin может быть более простым, но, на мой взгляд, он имеет тенденцию быть намного более раздутым, поскольку он вносит в ваше приложение много кодовых табличек.