Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
0 / 0 |
|
100.00% |
0 / 0 |
CRAP | |
100.00% |
0 / 0 |
<?php | |
/** | |
* | |
* This file is part of the phpBB Forum Software package. | |
* | |
* @copyright (c) phpBB Limited <https://www.phpbb.com> | |
* @license GNU General Public License, version 2 (GPL-2.0) | |
* | |
* For full copyright and license information, please see | |
* the docs/CREDITS.txt file. | |
* | |
*/ | |
namespace phpbb\auth\provider; | |
/** | |
* The interface authentication provider classes have to implement. | |
*/ | |
interface 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 | |
* ) | |
* A fourth key of the array may be present: | |
* 'redirect_data' This key is only used when 'status' is | |
* equal to LOGIN_SUCCESS_LINK_PROFILE and its value is an | |
* associative array that is turned into GET variables on | |
* the redirect url. | |
*/ | |
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 \phpbb\config\config $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(...), | |
* ) | |
* An optional third element may be added to this | |
* array: 'BLOCK_VAR_NAME'. If this is present, | |
* then its value should be a string that is used | |
* to designate the name of the loop used in the | |
* ACP template file. When this is present, an | |
* additional key named 'BLOCK_VARS' is required. | |
* This must be an array containing at least one | |
* array of variables that will be assigned during | |
* the loop in the template. An example of this is | |
* presented below: | |
* array( | |
* 'BLOCK_VAR_NAME' => string, | |
* 'BLOCK_VARS' => array( | |
* 'KEY IS UNIMPORTANT' => array(...), | |
* ), | |
* 'TEMPLATE_FILE' => string, | |
* 'TEMPLATE_VARS' => array(...), | |
* ) | |
*/ | |
public function get_acp_template($new_config); | |
/** | |
* Returns an array of data necessary to build custom elements on the login | |
* form. | |
* | |
* @return array|null If this function is not implemented on an auth | |
* provider then it returns null. If it is implemented | |
* it will return an array of up to four elements of | |
* which only 'TEMPLATE_FILE'. If 'BLOCK_VAR_NAME' is | |
* present then 'BLOCK_VARS' must also be present in | |
* the array. The fourth element 'VARS' is also | |
* optional. The array, with all four elements present | |
* looks like the following: | |
* array( | |
* 'TEMPLATE_FILE' => string, | |
* 'BLOCK_VAR_NAME' => string, | |
* 'BLOCK_VARS' => array(...), | |
* 'VARS' => array(...), | |
* ) | |
*/ | |
public function get_login_data(); | |
/** | |
* 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); | |
/** | |
* Checks to see if $login_link_data contains all information except for the | |
* user_id of an account needed to successfully link an external account to | |
* a forum account. | |
* | |
* @param array $login_link_data Any data needed to link a phpBB account to | |
* an external account. | |
* @return string|null Returns a string with a language constant if there | |
* is data missing or null if there is no error. | |
*/ | |
public function login_link_has_necessary_data($login_link_data); | |
/** | |
* Links an external account to a phpBB account. | |
* | |
* @param array $link_data Any data needed to link a phpBB account to | |
* an external account. | |
*/ | |
public function link_account(array $link_data); | |
/** | |
* Returns an array of data necessary to build the ucp_auth_link page | |
* | |
* @param int $user_id User ID for whom the data should be retrieved. | |
* defaults to 0, which is not a valid ID. The method | |
* should fall back to the current user's ID in this | |
* case. | |
* @return array|null If this function is not implemented on an auth | |
* provider then it returns null. If it is implemented | |
* it will return an array of up to four elements of | |
* which only 'TEMPLATE_FILE'. If 'BLOCK_VAR_NAME' is | |
* present then 'BLOCK_VARS' must also be present in | |
* the array. The fourth element 'VARS' is also | |
* optional. The array, with all four elements present | |
* looks like the following: | |
* array( | |
* 'TEMPLATE_FILE' => string, | |
* 'BLOCK_VAR_NAME' => string, | |
* 'BLOCK_VARS' => array(...), | |
* 'VARS' => array(...), | |
* ) | |
*/ | |
public function get_auth_link_data($user_id = 0); | |
/** | |
* Unlinks an external account from a phpBB account. | |
* | |
* @param array $link_data Any data needed to unlink a phpBB account | |
* from a phpbb account. | |
*/ | |
public function unlink_account(array $link_data); | |
} |