/omniauth-tequila

A Tequila OmniAuth Strategy

Primary LanguageRubyMIT LicenseMIT

OmniAuth Tequila Strategy Gem Version Build Status

This is an OmniAuth 1.0 compatible strategy that authenticates via EPFL's Tequila protocol, structured after omniauth-cas. By default, it connects to EPFL's Tequila server, but it is fully configurable.

Installation

Add this line to your application's Gemfile:

gem 'omniauth-tequila'

And then execute:

$ bundle

Or install it yourself as:

$ gem install omniauth-tequila

Usage

Use like any other OmniAuth strategy:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :tequila #, :option => value, ...
end

Configuration Options

OmniAuth Tequila authenticates with the EPFL server over SSL by default. However, it supports the following configuration options:

  • host - Defines the host of your Tequila server
  • require_group - Defines the group that will have access to the service
  • service_name - Define the name the service will authenticate with to tequila
  • path - Defines the URL relative to the host that the application sits behind
  • port - The port to use for your configured Tequila host
  • ssl - true to connect to your Tequila server over SSL
  • disable_ssl_verification - Optional when ssl is true. Disables verification.
  • ca_path - Optional when ssl is true. Sets path of a CA certification directory. See Net::HTTP for more details
  • uid_field - The user data attribute to use as your user's unique identifier. Defaults to 'uniqueid' (which contains the user's SCIPER number when using EPFL's Tequila server)
  • request_info - Hash that maps user attributes from Tequila to the OmniAuth schema. Defaults to { :name => 'displayname' } (which is the user's full name when using EPFL's Tequila server)
  • additional_parameters - Hash that takes key - value pairs for any other parameter than those listed above. Defaults to {} (Empty hash)
  • additional_parameters - Hash that takes key - value pairs for any other parameter than those listed above. Defaults to {} (Empty hash)
  • switchaai - true to enable switchaai login. Defaults to false.

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

  • Derek Lindahl (@dlindahl) and all the authors of omniauth-cas