Campus Authentication with Shibboleth

Examples of integrating with Shibboleth and CAS

Authenticate against Shibboleth

There are probably many ways of doing this.

Data Curation Experts has a repeatable way for accomplishing it, documented here.

Authenticate against CAS

Again, there are probably several ways to do this. This method uses a gem called https://github.com/nbudin/devise_cas_authenticatable.

 Instructions

Add the devise_cas_authenticatable gem

Add this line to your Gemfile:

gem 'devise_cas_authenticatable'

Then run the command bundle install.

Modify the user model

Go to the file app/models/user.rb. Find this line:

attr_accessible :email, :password, :password_confirmation #default line from the basic hyrax installation

Replace it with:

attr_accessible :email

Next, find these lines:

Replace them with:

Finally, add a function that takes extra attributes from your CAS server and maps them to fields in the Hyrax contributor profile. In this example, we will get the department name and email address.

Modify the devise initializer

Go to config/initializers/devise.rb and add the following lines, adding your specific CAS URL. There are https://github.com/nbudin/devise_cas_authenticatable#setup that you can add to this initializer.

Add a username field to your database

Create a migration like this:

Run rails db:migrate