This gem implements two strategies, OmniAuth::Strategies::Pubcookie
and Omniauth::Strategies::CMU
. The syntax between the two is similar and can be instantiated like so:
use OmniAuth::Strategies::Pubcookie, :login_server => '...', :host => '...',
:appid => '...', :keyfile => '...', :granting_cert => '...'
See rack-pubcookie for specific information on what each key is and how to get it
CMU (Carnegie Mellon University) uses WebISO for it's authentication. This service is backed by pubcookie. CMU also has an LDAP service, making this pair perfect for OmniAuth. The two have been unified with this gem and can be used as follows:
use OmniAuth::Strategies::CMU, :host => '...', :appid => '...', :keyfile => '...'
The only difference is that neither :login_server
nor :granting_cert
need to be specified and will default to webiso.andrew.cmu.edu
and CMU's granting certificate.
The returning omniauth.auth
hash complies with the Omniauth Hash Schema and as such has the following keys:
uid
- the user's Andrew iDuser_info
name
- the user's full nameemail
- the user's preferred CMU emailnickname
first_name
last_name
location
- the campus which the user is located at (Pittsburgh/Qatar)
extra
class
- the users' year at CMU (Freshman, Sophomore, ...)department
- the listed department for the user (i.e. Computer Science)raw_info
- everything returned from LDAP for the user, you might find something extra in here