abstract class OAuthClientHook extends BaseHook

Class OAuthClient

Constants

NO_CONNECTION_LIMIT

Properties

Controller $mod

Instance providing the hook

from  BaseHook
array $_hook_info

Hook Information "id" => "4914" "instance_id" => "api_microsoft" "name" => "oauth_client" "hook" => "webservice.oauth_client" "type" => "object" "registry_name" => "oauth_client" "function_name" => "" "internal" => "no" "dep_mode" => "local" "active" => "yes" "title" => "Basic functions" "description" => "" "options" => ""

from  BaseHook
protected $title

Title for this OAuth Client Hook will be used in create modal client

protected $description

Description for the OAuth Client Hook will be used in create modal client

protected $icon_class

Client Icon for the OAuth Client Hook

protected int $max_user_connections

How many client connections are allowed per user

protected int $max_global_connections

How many client connections are allowed on global level

protected OauthAccess $oauthAccess

Methods

bool
checkClientAfterAuthorization(OAuthClient $client)

You can check/process the client connection before the client is saved as oauth_access in webservices, this point can also be used to do custom redirects

createOAuthClient(string $client_id, string $client_secret = '', null $redirectURL = null)

Return OAuth Client

bool|string
createState(null $redirect_url = null)

Get a state value for OAuth flow

getConnectedClient(string $type = 'personal')

Get connected client which belongs to specific oauth hook.

string
getDescription()

Get description for the OAuth Client Hook will be used in create modal client

string
getHookDescription()

No description

from  BaseHook
string
getHookIdentifier()

Get Hook identifier consists of instance_id puncto separator and hook name Ex. instance_id.name

from  BaseHook
array
getHookInfoValue(bool $key = false)

Return Hook information (ID, InstanceID, Name, Hook Type, Object Type, ...)

from  BaseHook
string
getHookInstance()

No description

from  BaseHook
string
getHookName()

No description

from  BaseHook
string
getHookTitle()

No description

from  BaseHook
string
getIconClass()

Get icon for the OAuth Client Hook will be used in create modal client

getOAuthClient(array $connection_fdl_result = null, string $internal_redirect_url = null)

No description

getOAuthModel(string $hookName, string $hookInstance, int $userId)

No description

getObject()

No description

from  BaseHook
string
getTitle()

Get title for the OAuth Client Hook will be used in create modal client

get_connection_fdl()

TODO: What if the service requires the user to enter something during the connection?

bool
hasConnectedClient(string $type = 'personal')

Check wether the user has a connected OAuth Client

init()

Webservice Mod will be initialized

init_service()

Called from init, use to setup your configuration settings within the hook (optional)

bool
isAllowedExplicitConnection()

Returns whether the client allows an explicit connection triggered by the user e.g. via button.

bool
isAllowedMultipleForUsers()

No description

bool
isAllowedMultipleGlobal()

No description

bool
isAvailable()

Returns true if this hook is available otherwise false.

from  BaseHook
bool
isBasicAuthorization()

No description

bool
isHiddenForUsers()

Returns if this API should be connectable by users in their settings Default will evaluate max_user_connections Override this method to implement your own logic (e.g. policy based)

bool
isHiddenGlobal()

Returns if this API should be connectable by by administrators in global mode Default will evaluate max_global_connections Override this method to implement your own logic (e.g. policy based)

bool
isModelValid(string|null $hookName = null, string|null $hookInstance = null, int $userId = OAuthClient::GENERAL_ADMIN_MODE)

No description

bool
isSingleForUsers()

No description

bool
isSingleGlobal()

No description

onBeforeDeleteClient(OAuthClient $oauthClient, int $userID = null)

Method will be called when user or admin disconnects/removes account within user settings

onBeforeSaveClient(OAuthClient $oauthClient, array $decodedState = [])

Method will be called after successful authentication shortly before OAuth access is persisted to DB permamently

parseOpenIDConfiguration(string $url)

Parse OpenID OpenIDConfiguration for OAuth Service Endpoints

parseOpenIDConfigurationForDomain(string $domain)

Parse OpenID OpenIDConfiguration for OAuth Service Endpoints

int|bool
saveOAuthAccess(OAuthClient $client, $hook_name, $hook_instance)

Save and encrypt oauth data to database

setIsBasicAuthorization(bool $isBasicAuthorization)

No description

void
setModelInvalid(string|null $hookName = null, string|null $hookInstance = null, int|null $userId = null)

No description

void
setModelValid(string|null $hookName = null, string|null $hookInstance = null, int $userId = OAuthClient::GENERAL_ADMIN_MODE)

No description

Details

at line 199
bool checkClientAfterAuthorization(OAuthClient $client)

You can check/process the client connection before the client is saved as oauth_access in webservices, this point can also be used to do custom redirects

Parameters

OAuthClient $client

Return Value

bool

True - client is good and should be saved, False - client connection is not good

at line 185
final OAuthClient createOAuthClient(string $client_id, string $client_secret = '', null $redirectURL = null)

Return OAuth Client

Parameters

string $client_id
string $client_secret
null $redirectURL

Redirect triggered AFTER successfule authflow

Return Value

OAuthClient

at line 94
final bool|string createState(null $redirect_url = null)

Get a state value for OAuth flow

Parameters

null $redirect_url

Return Value

bool|string

at line 292
OAuthClient getConnectedClient(string $type = 'personal')

Get connected client which belongs to specific oauth hook.

Parameters

string $type

Return Value

OAuthClient

Exceptions

InvalidArgumentException
IdentityProviderException

at line 152
string getDescription()

Get description for the OAuth Client Hook will be used in create modal client

Return Value

string

in BaseHook at line 76
string getHookDescription()

No description

Return Value

string

in BaseHook at line 55
string getHookIdentifier()

Get Hook identifier consists of instance_id puncto separator and hook name Ex. instance_id.name

Return Value

string

in BaseHook at line 45
array getHookInfoValue(bool $key = false)

Return Hook information (ID, InstanceID, Name, Hook Type, Object Type, ...)

Parameters

bool $key

Return Value

array

in BaseHook at line 69
string getHookInstance()

No description

Return Value

string

in BaseHook at line 62
string getHookName()

No description

Return Value

string

in BaseHook at line 83
string getHookTitle()

No description

Return Value

string

at line 172
string getIconClass()

Get icon for the OAuth Client Hook will be used in create modal client

Return Value

string

at line 477
abstract OAuthClient getOAuthClient(array $connection_fdl_result = null, string $internal_redirect_url = null)

No description

Parameters

array $connection_fdl_result
string $internal_redirect_url

Return Value

OAuthClient

at line 354
OauthAccess getOAuthModel(string $hookName, string $hookInstance, int $userId)

No description

Parameters

string $hookName
string $hookInstance
int $userId

Return Value

OauthAccess

Exceptions

UnexpectedValueException

in BaseHook at line 88
getObject()

No description

at line 162
string getTitle()

Get title for the OAuth Client Hook will be used in create modal client

Return Value

string

at line 483
get_connection_fdl()

TODO: What if the service requires the user to enter something during the connection?

at line 267
bool hasConnectedClient(string $type = 'personal')

Check wether the user has a connected OAuth Client

Parameters

string $type

Return Value

bool

at line 70
final init()

Webservice Mod will be initialized

at line 83
init_service()

Called from init, use to setup your configuration settings within the hook (optional)

at line 229
bool isAllowedExplicitConnection()

Returns whether the client allows an explicit connection triggered by the user e.g. via button.

Return Value

bool

at line 128
bool isAllowedMultipleForUsers()

No description

Return Value

bool

at line 121
bool isAllowedMultipleGlobal()

No description

Return Value

bool

in BaseHook at line 97
abstract bool isAvailable()

Returns true if this hook is available otherwise false.

Return Value

bool

at line 490
bool isBasicAuthorization()

No description

Return Value

bool

at line 104
bool isHiddenForUsers()

Returns if this API should be connectable by users in their settings Default will evaluate max_user_connections Override this method to implement your own logic (e.g. policy based)

Return Value

bool

at line 114
bool isHiddenGlobal()

Returns if this API should be connectable by by administrators in global mode Default will evaluate max_global_connections Override this method to implement your own logic (e.g. policy based)

Return Value

bool

at line 374
bool isModelValid(string|null $hookName = null, string|null $hookInstance = null, int $userId = OAuthClient::GENERAL_ADMIN_MODE)

No description

Parameters

string|null $hookName
string|null $hookInstance
int $userId

Return Value

bool

at line 142
bool isSingleForUsers()

No description

Return Value

bool

at line 135
bool isSingleGlobal()

No description

Return Value

bool

at line 219
onBeforeDeleteClient(OAuthClient $oauthClient, int $userID = null)

Method will be called when user or admin disconnects/removes account within user settings

Parameters

OAuthClient $oauthClient
int $userID

at line 209
onBeforeSaveClient(OAuthClient $oauthClient, array $decodedState = [])

Method will be called after successful authentication shortly before OAuth access is persisted to DB permamently

Parameters

OAuthClient $oauthClient
array $decodedState

= ['redirect_url' => '']

at line 252
protected OpenIDConfiguration|false parseOpenIDConfiguration(string $url)

Parse OpenID OpenIDConfiguration for OAuth Service Endpoints

at line 240
protected OpenIDConfiguration|false parseOpenIDConfigurationForDomain(string $domain)

Parse OpenID OpenIDConfiguration for OAuth Service Endpoints

Parameters

string $domain

www.example.com

Return Value

OpenIDConfiguration|false

at line 440
int|bool saveOAuthAccess(OAuthClient $client, $hook_name, $hook_instance)

Save and encrypt oauth data to database

Parameters

OAuthClient $client
$hook_name
$hook_instance

Return Value

int|bool

Exceptions

IdentityProviderException
Exception

at line 499
OAuthClientHook setIsBasicAuthorization(bool $isBasicAuthorization)

No description

Parameters

bool $isBasicAuthorization

Return Value

OAuthClientHook

at line 409
void setModelInvalid(string|null $hookName = null, string|null $hookInstance = null, int|null $userId = null)

No description

Parameters

string|null $hookName
string|null $hookInstance
int|null $userId

Return Value

void

Exceptions

Exception

at line 391
void setModelValid(string|null $hookName = null, string|null $hookInstance = null, int $userId = OAuthClient::GENERAL_ADMIN_MODE)

No description

Parameters

string|null $hookName
string|null $hookInstance
int $userId

Return Value

void

Exceptions

Exception