diff options
author | Andreas Fischer <bantu@phpbb.com> | 2013-07-05 16:06:07 +0200 |
---|---|---|
committer | Andreas Fischer <bantu@phpbb.com> | 2013-07-05 16:06:07 +0200 |
commit | 4aef3d0ab9f08b1e5ad5dc776461fc425368c8db (patch) | |
tree | 1a461d06d5ed350f5af2ebb93de3d3f81ad5ce17 /phpBB/includes/auth/provider/interface.php | |
parent | b3487b3167632f47d98eef25692924aa7ab25863 (diff) | |
parent | 5746c8d96ff50b7c520e3070270311992685fcce (diff) | |
download | forums-4aef3d0ab9f08b1e5ad5dc776461fc425368c8db.tar forums-4aef3d0ab9f08b1e5ad5dc776461fc425368c8db.tar.gz forums-4aef3d0ab9f08b1e5ad5dc776461fc425368c8db.tar.bz2 forums-4aef3d0ab9f08b1e5ad5dc776461fc425368c8db.tar.xz forums-4aef3d0ab9f08b1e5ad5dc776461fc425368c8db.zip |
Merge remote-tracking branch 'Hardolaf/feature/auth-refactor' into develop
* Hardolaf/feature/auth-refactor:
[feature/auth-refactor] Move auth providers to separate directory
Diffstat (limited to 'phpBB/includes/auth/provider/interface.php')
-rw-r--r-- | phpBB/includes/auth/provider/interface.php | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/phpBB/includes/auth/provider/interface.php b/phpBB/includes/auth/provider/interface.php new file mode 100644 index 0000000000..2d1935f8f0 --- /dev/null +++ b/phpBB/includes/auth/provider/interface.php @@ -0,0 +1,93 @@ +<?php +/** +* +* @package auth +* @copyright (c) 2013 phpBB Group +* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 +* +*/ + +/** +* @ignore +*/ +if (!defined('IN_PHPBB')) +{ + exit; +} + +/** + * The interface authentication provider classes have to implement. + * + * @package auth + */ +interface phpbb_auth_provider_interface +{ + /** + * Checks whether the user is currently identified to the authentication + * provider. + * Called in acp_board while setting authentication plugins. + * Changing to an authentication provider will not be permitted in acp_board + * if there is an error. + * + * @return boolean|string False if the user is identified, otherwise an + * error message, or null if not implemented. + */ + public function init(); + + /** + * Performs login. + * + * @param string $username The name of the user being authenticated. + * @param string $password The password of the user. + * @return array An associative array of the format: + * array( + * 'status' => status constant + * 'error_msg' => string + * 'user_row' => array + * ) + */ + public function login($username, $password); + + /** + * Autologin function + * + * @return array|null containing the user row, empty if no auto login + * should take place, or null if not impletmented. + */ + public function autologin(); + + /** + * This function is used to output any required fields in the authentication + * admin panel. It also defines any required configuration table fields. + * + * @param array $new Contains the new configuration values that have + * been set in acp_board. + * @return array|null Returns null if not implemented or an array of the + * form: + * array( + * 'tpl' => string + * 'config' => array + * ) + */ + public function acp($new); + + /** + * Performs additional actions during logout. + * + * @param array $data An array corresponding to + * phpbb_session::data + * @param boolean $new_session True for a new session, false for no new + * session. + */ + public function logout($data, $new_session); + + /** + * The session validation function checks whether the user is still logged + * into phpBB. + * + * @param array $user + * @return boolean true if the given user is authenticated, false if the + * session should be closed, or null if not implemented. + */ + public function validate_session($user); +} |