Skip to content
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
Closed
@caseywatts

Description

@caseywatts

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 to username (delete current migration)
  • Replace all uses of login for ActiveRecord lookups with username
  • 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 dependencies make sure both authentication methods work
    • redirect hackery
    • user new hackery
    • any other hackery :-P
  • get database_authenticatable working, using our current user resource
    • add required parameters to strong params (commented out by default)
    • make sure edit and update work
    • set up proper Devise configuration in devise.rb, with options for both username or email 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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions