This repository was archived by the owner on Jul 24, 2020. It is now read-only.
This repository was archived by the owner on Jul 24, 2020. It is now read-only.
Non-CAS authentication #2
Closed
Description
2014-09-28
For now, we're going to implement Devise
authentication with the devise_cas_authenticatable
gem for CAS. We will also try to write up example migrations and instructions for alternative Devise authentication schemes.
To Do:
- Add
devise
gemlater - Add
devise_cas_authenticatable
gem - Set up
devise
authentication before_filters instead of old RubyCAS filters - Write migration to change
login
column name tousername
(delete current migration) - Replace all uses of
login
for ActiveRecord lookups withusername
- Remove custom
current_user
method in lieu of built-in Devise method
2014-10-12
Most / all of the above was completed today and almost all of the current test suite is passing. My thoughts are outlined in the comment below; I'll try to turn them into a proper to-do list soon.
2014-10-13
All tests now pass. I tried getting database_authenticatable
working and it was messy, but I think providing example code at least for that case is important. If I'm strugging to get this working, so will future clients. I'd like to see if we can do the following:
-
remove all CAS workflow dependenciesmake sure both authentication methods work- redirect hackery
- user
new
hackery - any other hackery :-P
- get
database_authenticatable
working, using our currentuser
resource- add required parameters to strong params (commented out by default)
- make sure
edit
andupdate
work - set up proper Devise configuration in
devise.rb
, with options for bothusername
oremail
login - set up required database migrations (with
.example
file extension so they don't run by default) - COMMENT ALL THE THINGS
- write tests for authentication (I'm not sure where these go... maybe just in the controller specs, one context per controller?)
- think about implementing other devise modules
- recoverable
- trackable
- clean up
devise.rb
with only required / related options and comment where necessary - document the procedure for enabling
database_authenticatable
either in the README or wiki or both - look into making
database_authenticatable
the default and switching to CAS using the deploy script / variable (related to Document and set up generalized deployment #683)
2014-10-19
- look into implementing email LDAP lookup for database authenticatable
2014-10-25
- manually test
:recoverable
- look at generated devise views to figure out how to set up the UI elements
- write integration tests for sign up (using password authentication)
- write integration tests for resetting password (obviously using password authentication)
- go through
devise.rb
again and take out settings that shouldn't be changed :-) - document the process for enabling CAS authentication in the
README
- document our authentication workflow in the wiki
- look into using LDAP lookup via e-mail for password authentication
Activity