Writing an external authentication module
Authenticating to Drupal
To post on a Drupal site you generally have to register with a username and password. Each Drupal site you use gives you a new username and password to keep track of. Allowing users to authenticate with alternative single-sign-on credentials provides a more convenient way for users to login. In Drupal 5 distributed authentication was available (logging in with your credentials from another Drupal site). In Drupal 6, OpenID authentication is now available as a core module. A variety of alternate authentication modules are also available for Drupal (such as LDAP).
Authenticating at UC Irvine
UC Irvine gives every person a username called a UCInetID. Numerous services at UCI require you to authenticate with your UCInetID and password. For web applications, UCI provides a cookie-based authentication system called WebAuth (similar to pubcookie), which allows a web site to validate your identity without knowing your UCInetID password.
This talk will describe implementing the ucinetid external authentication module for Drupal. This module allows UCI users to login with their UCInetID, and also provides auto-registration of new users (i.e., one-click registration and login). I’ll cover the external authentication process and how this hooks into Drupal. I’ll also describe adding fields to the user edit form to allow attaching UCInetIDs to existing Drupal accounts.
Experienced Drupal developers who (can’t use OpenID, and) need to integrate a corporate/institutional authentication system into Drupal .
Slides & Code
The slides from this talk and source code for the module are available