class apache extends base

Apache authentication provider for phpBB3

Properties

protected config $config
protected driver_interface $db
protected language $language
protected request_interface $request
protected user $user
protected string $phpbb_root_path
protected string $php_ext

Methods

bool|string
init()

Checks whether the user is currently identified to the authentication provider.

array|null
autologin()

Autologin function

array|null
acp()

This function is used to output any required fields in the authentication admin panel. It also defines any required configuration table fields.

from  base
array|null
get_acp_template(config $new_config)

This function updates the template with variables related to the acp options with whatever configuration values are passed to it as an array.

from  base
array|null
get_login_data()

Returns an array of data necessary to build custom elements on the login form.

from  base
array|null
get_auth_link_data(int $user_id = 0)

Returns an array of data necessary to build the ucp_auth_link page

from  base
logout(array $data, bool $new_session)

Performs additional actions during logout.

from  base
bool
validate_session(array $user)

The session validation function checks whether the user is still logged into phpBB.

string|null
login_link_has_necessary_data(array $login_link_data)

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.

from  base
link_account(array $link_data)

Links an external account to a phpBB account.

from  base
unlink_account(array $link_data)

Unlinks an external account from a phpBB account.

from  base
__construct(config $config, driver_interface $db, language $language, request_interface $request, user $user, string $phpbb_root_path, string $php_ext)

Apache Authentication Constructor

array
login(string $username, string $password)

Performs login.

Details

at line 74
bool|string init()

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 Value

bool|string

False if the user is identified, otherwise an error message, or null if not implemented.

at line 176
array|null autologin()

Autologin function

Return Value

array|null

containing the user row, empty if no auto login should take place, or null if not implemented.

in base at line 40
array|null acp()

This function is used to output any required fields in the authentication admin panel. It also defines any required configuration table fields.

Return Value

array|null

Returns null if not implemented or an array of the configuration fields of the provider.

in base at line 48
array|null get_acp_template(config $new_config)

This function updates the template with variables related to the acp options with whatever configuration values are passed to it as an array.

It then returns the name of the acp file related to this authentication provider.

Parameters

config $new_config

Contains the new configuration values that have been set in acp_board.

Return Value

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(...), )

in base at line 56
array|null get_login_data()

Returns an array of data necessary to build custom elements on the login form.

Return Value

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(...), )

Returns an array of data necessary to build the ucp_auth_link page

Parameters

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 Value

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(...), )

in base at line 72
logout(array $data, bool $new_session)

Performs additional actions during logout.

Parameters

array $data

An array corresponding to \phpbb\session::data

bool $new_session

True for a new session, false for no new session.

at line 267
bool validate_session(array $user)

The session validation function checks whether the user is still logged into phpBB.

Parameters

array $user

Return Value

bool

true if the given user is authenticated, false if the session should be closed, or null if not implemented.

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.

Parameters

array $login_link_data

Any data needed to link a phpBB account to an external account.

Return Value

string|null

Returns a string with a language constant if there is data missing or null if there is no error.

Links an external account to a phpBB account.

Parameters

array $link_data

Any data needed to link a phpBB account to an external account.

Unlinks an external account from a phpBB account.

Parameters

array $link_data

Any data needed to unlink a phpBB account from a phpbb account.

at line 60
__construct(config $config, driver_interface $db, language $language, request_interface $request, user $user, string $phpbb_root_path, string $php_ext)

Apache Authentication Constructor

Parameters

config $config

Config object

driver_interface $db

Database object

language $language

Language object

request_interface $request

Request object

user $user

User object

string $phpbb_root_path

Relative path to phpBB root

string $php_ext

PHP file extension

at line 86
array login(string $username, string $password)

Performs login.

Parameters

string $username

The name of the user being authenticated.

string $password

The password of the user.

Return Value

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.