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:
gem 'omniauth-cas'
And then execute:
$ bundle
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/login
will be assumed.login_url
- Defines the URL used to prompt users for their login information. If nohost
is configured, the host application's domain will be used.
Other configuration options:
port
- The port to use for your configured CAShost
ssl
- TRUE to connect to your CAS server over SSL.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 whenssl
istrue
. Sets path of a CA certification directory. See Net::HTTP for more details
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