- drupal
These hooks are defined by authentication modules, modules that define ways users can log on using accounts from other sites and servers.
A module intending to allow authentication should implement all of these hooks. See the contributed jabber.module for an example.
Authentication hooks are typically called by user.module using module_invoke().
Functions & methods
| Name | Description |
|---|---|
| hook_auth | Verify authentication of a user. |
| hook_info | Declare authentication scheme information. |
File
developer/hooks/authentication.phpView source
- <?php
-
- /**
- * @file
- * These hooks are defined by authentication modules, modules that define
- * ways users can log on using accounts from other sites and servers.
- *
- * A module intending to allow authentication should implement all of these
- * hooks. See the contributed jabber.module for an example.
- *
- * Authentication hooks are typically called by user.module using
- * module_invoke().
- */
-
- /**
- * @addtogroup hooks
- * @{
- */
-
- /**
- * Verify authentication of a user.
- *
- * The _auth hook is the heart of any authentication module. This function
- * is called whenever a user is attempting to log in using your
- * authentication module. The module uses this information to allow or deny
- * access to the site.
- *
- * @param $username
- * The substring before the final '@' character in the username field.
- * @param $password
- * The whole string submitted by the user in the password field.
- * @param $server
- * The substring after the final '@' symbol in the username field.
- * @return
- * For successful authentications, this function returns TRUE. Otherwise,
- * it returns FALSE.
- */
- function hook_auth($username, $password, $server) {
- if (variable_get('drupal_authentication_service', 0)) {
- if (!$server) {
- $server = variable_get('drupal_default_da_server', '');
- }
- else if (variable_get('drupal_default_da_server_only', 0)) {
- if (variable_get('drupal_default_da_server', '') != $server) {
- return;
- }
- }
- if (!empty($server)) {
- $result = xmlrpc("http://$server/xmlrpc.php", 'drupal.login', $username, $password);
- if ($result === FALSE) {
- drupal_set_message(t('Error %code: %message', array('%code' => xmlrpc_errno(), '%message' => xmlrpc_error_msg())), 'error');
- }
- else {
- return $result;
- }
- }
- }
- }
-
- /**
- * Declare authentication scheme information.
- *
- * This hook is required of authentication modules. It defines basic
- * information about the authentication scheme.
- *
- * @param $field
- * The type of information requested. Possible values:
- * - "name"
- * - "protocol"
- * @return
- * A string containing the requested piece of information. If $field
- * is not provided, an array containing all the fields should be returned.
- */
- function hook_info($field = 0) {
- $info['name'] = 'Drupal';
- $info['protocol'] = 'XML-RPC';
-
- if ($field) {
- return $info[$field];
- }
- else {
- return $info;
- }
- }
-
- /**
- * @} End of "addtogroup hooks".
- */
-