devise_social

Status: placeholder release (0.0.0). This version contains no functionality. It reserves the gem name while the implementation is being built. Do not depend on it yet — the first usable release will be 0.1.0.

A companion gem for Devise that makes adding social login (Google, Apple, GitHub, Facebook, Microsoft) to an existing Devise app a one-command affair.

Devise already supports OmniAuth natively through its :omniauthable module. devise_social does not replace that — it wraps it in a generator and a small configuration DSL so that installing it looks like this:

bundle add devise_social
rails g devise_social:install google_oauth2 apple github
rails db:migrate

Planned for 0.1.0

  • A frozen provider registry — adding a provider is one entry, nothing else.
  • A DeviseSocial.configure DSL that only asks for client_id / client_secret.
  • A devise_social_identities table, so one user can link several providers.
  • Identity resolution that refuses to auto-link accounts on unverified emails.
  • An Apple client_secret JWT generator (Apple's secret is a signed, expiring token).
  • A generated OmniAuth callbacks controller and a ready-to-render button partial.

License

Released under the MIT License.