A helper gem to add single-sign-on to rails apps.
Add this line to your application's Gemfile:
gem 'komondor'
And then execute:
$ bundle
Then run the installer
$ rails g komondor:install
Then run migrations
$ rake db:migrate
We use 3 environment variables in each connected app
SSO_SECRET_KEY=the secret key of the app
SSO_URL=the domain of the auth provider
SSO_NAME=the name of the auth provider
For any controllers you wish to protect, you need to add a before filter
# For Rails 3
before_filter :guard_dog
# For Rails 4
before_action :guard_dog
By default this gem adds a topbar to your page that will add links to all apps the signed in user has the ability to access. Once installed, you can edit the style of the top bar with the komondor.css.scss
file added to app/assets/stylesheets
.
If you don't want to use the top bar, you can remove the folllowing lines from their respective files:
app/assets/javascripts/application.js
//= require komondor
app/views/layouts/application.html.erb
<script>Komondor = { identity_id: <%= current_user.identity_id %> };</script>
And delete the stylesheet: komondor.css.scss
Without the topbar you will need to add a signout link:
<%= link_to "Signout", sessions_path, method: :delete %>
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request