Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

OmniAuth strategy when using Pubcookie or CMU's WebISO

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Gemfile
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 oa-pubcookie.gemspec
README.md

OmniAuth::Pubcookie

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 Integration

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 iD
  • user_info
    • name - the user's full name
    • email - the user's preferred CMU email
    • nickname
    • 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
Something went wrong with that request. Please try again.