diff options
Diffstat (limited to 'phpBB/phpbb/auth/provider/interface.php')
| -rw-r--r-- | phpBB/phpbb/auth/provider/interface.php | 105 | 
1 files changed, 105 insertions, 0 deletions
diff --git a/phpBB/phpbb/auth/provider/interface.php b/phpBB/phpbb/auth/provider/interface.php new file mode 100644 index 0000000000..47043bc107 --- /dev/null +++ b/phpBB/phpbb/auth/provider/interface.php @@ -0,0 +1,105 @@ +<?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. +	 * +	 * @return	array|null	Returns null if not implemented or an array of the +	 *						configuration fields of the provider. +	 */ +	public function acp(); + +	/** +	 * This function updates the template with variables related to the acp +	 * options with whatever configuraton values are passed to it as an array. +	 * It then returns the name of the acp file related to this authentication +	 * provider. +	 * @param	array	$new_config Contains the new configuration values that +	 *								have been set in acp_board. +	 * @return	array|null		Returns null if not implemented or an array with +	 *							the template file name and an array of the vars +	 *							that the template needs that must conform to the +	 *							following example: +	 *							array( +	 *								'TEMPLATE_FILE'	=> string, +	 *								'TEMPLATE_VARS'	=> array(...), +	 *							) +	 */ +	public function get_acp_template($new_config); + +	/** +	 * 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); +}  | 
