From Fedora Project Wiki

Revision as of 23:10, 1 July 2010 by Pfrields (talk | contribs) (Notes on FASAuth)

FASAuth

  • hook_form_alter on $form_id == 'user_login' or 'user_login_block' to catch logins
    • Then set up our own functions to authenticate
  • need a settings table that contains mappings FASGroup <=> DrupalGroup
    • loop through memberships to determine groups for Drupal
    • If one exists, turn its membership on for user (or check for !member and then add)
    • If not, turn its membership off for user (or check for member and then remove)

External authentication

From http://www.darrenmothersele.com/content/using-external-data-source-drupal-user-authentication-and-login

The normal login process will call your custom authentication when the built in login process fails.

The process is as follows:

  1. user submits login information
  2. drupal checks if user is blocked, if so message is displayed and login fails
  3. drupal then attempts to load the user locally
    • if this is successful then the user object is loaded and drupal fires the load and login hooks. the user is then directed towards the 'user' page.
    • if user is not found locally then drupal will call external authentication

External authentication involves firing the auth hook, and on success either validating an existing user or creating a new user object. When a user is created this way a record is stored in the authmap table that confirms which module validates this user login.