Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A CAS OmniAuth Strategy
Ruby

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
lib
spec
.gitignore
.rvmrc
.travis.yml
Gemfile
History.md
LICENSE
README.md
Rakefile
omniauth-cas.gemspec

README.md

OmniAuth CAS Strategy Build Status

This is a OmniAuth 1.0 compatible port of the previously available OmniAuth CAS strategy that was bundled with OmniAuth 0.3.

View the documentation

Installation

Add this line to your application's Gemfile:

gem 'omniauth-cas'

And then execute:

$ bundle

Or install it yourself as:

$ gem install omniauth-cas

Usage

Use like any other OmniAuth strategy:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :cas, host: 'cas.yourdomain.com'
end

OmniAuth CAS requires at least one of the following two configuration options:

  • url - Defines the URL of your CAS server (i.e. http://example.org:8080)
  • host - Defines the host of your CAS server. Optional if using url
  • login_url - Defines the URL used to prompt users for their login information. Defaults to /login If no host is configured, the host application's domain will be used.

Other configuration options:

  • port - The port to use for your configured CAS host. Optional if using url
  • ssl - TRUE to connect to your CAS server over SSL. Optional if using url
  • service_validate_url - The URL to use to validate a user. Defaults to '/serviceValidate'
  • logout_url - The URL to use to logout a user. Defaults to '/logout'
  • uid_key - The user data attribute to use as your user's unique identifier. Defaults to 'user' (which usually contains the user's login name)
  • ca_path - Optional when ssl is true. Sets path of a CA certification directory. See Net::HTTP for more details
  • disable_ssl_verification - Optional when ssl is true. Disables verification.

Migrating from OmniAuth 0.3

Given the following OmniAuth 0.3 configuration:

provider :CAS, cas_server: 'https://cas.example.com/cas/'

Your new settings should look similar to this:

provider :cas,
         host:      'cas.example.com',
         login_url: '/cas/login',
         service_validate_url: '/cas/serviceValidate'

If you encounter problems wih SSL certificates you may want to set the ca_path parameter or activate disable_ssl_verification (not recommended).

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Added some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

Thanks

Special thanks go out to the following people

  • Phillip Aldridge (@iterateNZ) and JB Barth (@jbbarth) for helping out with Issue #3
  • Elber Ribeiro (@dynaum) for Ubuntu SSL configuration support
  • @rbq for README updates and OmniAuth 0.3 migration guide
Something went wrong with that request. Please try again.