A devise Omniauth server which handles Single Sign On
Ruby JavaScript HTML CSS
Switch branches/tags
Nothing to show
Latest commit 2461d6a Apr 26, 2016 @gautamrege gautamrege minor typo change.
Permalink
Failed to load latest commit information.
app
config
db
doc
lib/tasks Initial commit for getting SSO Devise and Omniauth Feb 3, 2011
public
script
test
vendor/plugins Initial commit for getting SSO Devise and Omniauth Feb 3, 2011
.gitignore
Gemfile Update to Rails 3.2.8 Nov 2, 2012
Gemfile.lock Update to Rails 3.2.8 Nov 2, 2012
LICENCE
README Initial commit for getting SSO Devise and Omniauth Feb 3, 2011
README.rdoc
Rakefile Initial commit for getting SSO Devise and Omniauth Feb 3, 2011
config.ru

README.rdoc

Single Sign-On using Devise and Omniauth

We wanted to solve these problems:

  • A single User Manager application (which will authenticate ALL users with different roles)

  • Different internal applications which talk to User Manager for authentication

  • User should be able to login/sign-up via Social Networks like Twitter and Facebook.

  • Single Sign On between all applications.

The Custom Provider

This custom provider acts as an omniauth client (to connect to Twitter & Facebook) AND also acts as a omniauth provider (via auth_controller) to authenticate internal applications.

Usage

Clone this repository and do a bundle install. NOTE: We are using devise master HEAD because it has the latest omniauth integration code.

git clone git://github.com/joshsoftware/sso-devise-omniauth-provider.git
bundle install
rake db:create
rake db:migrate

Create your Twitter App and Facebook App. Create the initializer file with the following omniauth configuration:( eg. I use config/initializers/omniauth.rb )

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :twitter, 'twitter-appid', 'twitter-app-secret'
  provider :facebook, 'facebook-appid', 'facebook-app-secret'
end

That's it! Your on your way:

rails server

In your browser, go for it:

http://localhost:3000

Contributions

Please feel free to enhance this demo. For any doubts, please send an email to gautam@joshsoftware.com

I am eager to write some rspec for this setup. If you do, please send me a pull request!

License

This is released under the MIT license.