ruby-on-railsruby-on-rails-3.2sorcery

Adding external providers to sorcery


I have an app with authentication, which has been done with devise and used omniauth to sign in from various providers (including vk.com, google, twitter and so on). Everything seemed working well, except that I needed to include a separate gem for every provider.

Now I decided to make that authentication much lighter and add some logging, so I decided to move from devise to sorcery. But now I have a problem with external providers, 'cause the gem has only few (no vk.com or yahoo, which I do need).

I tried to understand the code of the externalproviders to add my own just alike, but it seems a little bit too complicated for me. Is there any easier way around?


Solution

  • Just in case someone finds this question while looking for a similar answer, Sorcery does now include External authentication for most major logins. See:

    https://github.com/Sorcery/sorcery/wiki/External

    In your rails app after installing the External module you'll have a file: config/initializers/sorcery.rb. In it there will be example code for most providers.