This is a OmniAuth 1.0 compatible port of the previously available OmniAuth CAS strategy that was bundled with OmniAuth 0.3.
Add this line to your application's Gemfile:
And then execute:
Or install it yourself as:
$ gem install omniauth-cas
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:
host- Defines the host of your CAS server. A default login URL of
/loginwill be assumed.
login_url- Defines the URL used to prompt users for their login information. If no
hostis configured, the host application's domain will be used.
Other configuration options:
port- The port to use for your configured CAS
ssl- TRUE to connect to your CAS server over SSL.
service_validate_url- The URL to use to validate a user. Defaults to
logout_url- The URL to use to logout a user. Defaults to
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
true. Sets path of a CA certification directory. See Net::HTTP for more details
Migrating from OmniAuth 0.3
Given the following OA 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).
- Fork it
- Create your feature branch (
git checkout -b my-new-feature)
- Commit your changes (
git commit -am 'Added some feature')
- Push to the branch (
git push origin my-new-feature)
- Create new Pull Request
Special thanks go out to the following people
- Phillip Aldridge (@iterateNZ) and JB Barth (@jbbarth) for helping out with Issue #3