Creating UmlautAuth Plugins
The UmlautAuth module extends functionality available from the [Authlogic|http://github.com/binarylogic/authlogic] (version 2.1.0) gem and configured as a plugin based on the [Authlogic OpenID add-on|http://github.com/binarylogic/authlogic_openid].
Core Umlaut Files Added or Updated
Several core Umlaut files were updated in order to develop the UmlautAuth module.
The application controller was updated to filter passwords and provide two methods for accessing the current user session and the current user. The method current_user_session (aliased as has_logged_in_user) returns nil if no user session has been established. The method current_user (aliased as logged_in_user) return either nil or the current logged in user.
The user sessions controller manages the routing of user session requests. Three methods are available:
- new - renders the login screen or redirects to external login screen
- validate - validates the user upon login
- destroy - processes logout
The users controller manages the routing of user related requests. Two methods are available:
- edit (also called from show) - renders the user preferences screen.
- update - processes updates to user preferences.
Serializes user_attributes and adds acts_as_authentic functionality to leverage the Authlogic gem. Also sets to_param to username rather than id for prettier urls.
The default login screen
The default user preferences screen. Users can update mobile phone numbers and the like.
Added authlogic gem:
#require 'authlogic' config.gem 'authlogic', :version => "= 2.1.0"
Added url routes:
map.login "login", :controller => "user_sessions", :action => "new" map.logout "logout", :controller => "user_sessions", :action => "destroy" map.validate "validate", :controller => "user_sessions", :action => "validate" map.resources :user_sessions map.resources :users
Modified the user table to use with authlogic. Included column for mobile phone and user attributes.