Contentserv PHP API

CSBearerTokenAuthentication extends CSAuthenticationPlugin
in package

This class represents the token authentication plugin

Tags
access

public

since

CS23.0

Table of Contents

ERROR_KEY_MISSING  = 1050
ERROR_TOKEN_DECODING  = 1040
ERROR_TOKEN_INVALID  = 1010
ERROR_TOKEN_NOT_MATCHING  = 1030
ERROR_TOKEN_USER_MISSING  = 1020
__call()  : mixed|string
All method calls which are not defined within the plugin are forwarded to the module Therefore it is possible to get, e.g. the label by calling the getSuiteName() method.
_construct()  : void
The construct method may be used to initialize custom plugin properties it is called immediately after instantiating the plugin all arguments passed to the getPlugins method are also available in this method.
addAlternativePluginFolder()  : void
A path to a specific folder in which should be search for plugins.
authenticate()  : array<string|int, mixed>|CSAuthenticationRedirect
Authenticates the user with the given login data.
checkConcurrentUserCount()  : void
Used to be able to log the concurrent users for a certain purpose.
checkPassword()  : bool
This method is called to check whether a new password matches the projects password rules. If an error message should be written, this method has to be overwritten in an authentication plugin. The error text has to be set in an exception message.
getAlternativePluginFolder()  : array<string|int, mixed>
getAuthenticationParameters()  : array<string|int, mixed>
getLevel()  : int
The getLevel method may be overwritten in the plugins and defines the order, the plugins are called, where the highest level is called first.
getMetaData()  : CSMetaData
Returns the CSMetaData of the current plugin.
getModule()  : CSModule
Returns the module, if the plugin is defined within a module.
getPlugin()  : CSPlugin|null
Returns a CSPlugin for the given plugin type and plugin class name.
getPluginChooser()  : array<string|int, mixed>
Returns an array all defined CSPlugins for the current plugin type
getPluginData()  : mixed
getPluginDefinitionFile()  : string
Returns the path to the file, the plugin is defined.
getPluginName()  : mixed
getPlugins()  : array<string|int, CSPlugin>
Returns all defined CSPlugins for the current plugin type It should be used to get all matching plugins for a given plugin api.
getPluginsInModule()  : array<string|int, mixed>
Returns all CSPlugins for the current plugin type which are defined within the given module It should be used to get all matching plugins for a given plugin api.
guessProject()  : string
If no project name is given, this method is called to guess the project.
isAvailable()  : bool
This method is called to check, whether the plugin is available.
loginSuccessfully()  : mixed
If the authentication succeedes this method is called.
resetLoadedPlugins()  : mixed
reset the internal plugins cache for loaded plugins
shouldRegisterAuthenticationTicket()  : bool
Defines whether the system should register a ticket for the authenticated user. If returned as "false" no ticket will be created for the user and the authentication is only valid for the current request.

Constants

Methods

__call()

All method calls which are not defined within the plugin are forwarded to the module Therefore it is possible to get, e.g. the label by calling the getSuiteName() method.

public __call(mixed $methodName, mixed $methodArguments) : mixed|string
Parameters
$methodName : mixed
$methodArguments : mixed
Tags
Return values
mixed|string

_construct()

The construct method may be used to initialize custom plugin properties it is called immediately after instantiating the plugin all arguments passed to the getPlugins method are also available in this method.

public _construct() : void
Tags
Return values
void

addAlternativePluginFolder()

A path to a specific folder in which should be search for plugins.

public static addAlternativePluginFolder(mixed $sPluginFolder) : void
Parameters
$sPluginFolder : mixed
Tags
Return values
void

authenticate()

Authenticates the user with the given login data.

public authenticate([mixed $sUserName = '' ][, mixed $sPassword = '' ][, mixed $sProject = '' ]) : array<string|int, mixed>|CSAuthenticationRedirect
Parameters
$sUserName : mixed = ''
$sPassword : mixed = ''
$sProject : mixed = ''
Tags
inheritdoc
Return values
array<string|int, mixed>|CSAuthenticationRedirect

containing User properties, where it must contain at least the fields UserName, FirstName, LastName and Email. If the property name starts with a underscore '_' the property is only set, when the user is new. A CSAuthenticationRedirect object to redirect the authentication to a different auth provider.

checkConcurrentUserCount()

Used to be able to log the concurrent users for a certain purpose.

public checkConcurrentUserCount(int $iCurrentCount, int $iLicensed, string $sContext[, string $sSubContext = '' ][, string $sContextID = '' ]) : void
Parameters
$iCurrentCount : int

The concurrent users.

$iLicensed : int

The maximum allowed concurrent users from the licence

$sContext : string

The context of the access, e.g. a Suitename.

$sSubContext : string = ''

The subcontext of the access, e.g. a Widgetname.

$sContextID : string = ''

The contextID of the access, e.g. a WidgetID.

Tags
access

public

Return values
void

checkPassword()

This method is called to check whether a new password matches the projects password rules. If an error message should be written, this method has to be overwritten in an authentication plugin. The error text has to be set in an exception message.

public checkPassword(string $sPassword, string $sSalt, string $sCurrentPassword, User $oUser) : bool
Parameters
$sPassword : string

The context of the access, e.g. a Suitename.

$sSalt : string

The salt of the current user

$sCurrentPassword : string

The old password

$oUser : User

The user for which the password should be changed to be able to check for additional conditions (like Email != Password, ...)

Tags
access

public

throws
CSException

when the password check has failed and a message should be alerted

Return values
bool

TRUE when the password is accepted or FALSE when the check failed.

getAlternativePluginFolder()

public static getAlternativePluginFolder() : array<string|int, mixed>
Tags
Return values
array<string|int, mixed>

getAuthenticationParameters()

public getAuthenticationParameters() : array<string|int, mixed>
Tags
inheritDoc
Return values
array<string|int, mixed>

getLevel()

The getLevel method may be overwritten in the plugins and defines the order, the plugins are called, where the highest level is called first.

public getLevel() : int
Tags
inheritDoc
Return values
int

the level of the plugin where it is called

getMetaData()

Returns the CSMetaData of the current plugin.

public getMetaData() : CSMetaData
Tags
access

public

Return values
CSMetaData

getModule()

Returns the module, if the plugin is defined within a module.

public getModule() : CSModule

This method can be used in the plugin api and the plugin wherever access to the defining module is required. If it is used in the Api, it should be noticed that this method may return null, if the plugin is directly defined in the projects or admin.local plugins directory.

Tags
Return values
CSModule

the module object, if the plugin defined in a module or null otherwise

getPlugin()

Returns a CSPlugin for the given plugin type and plugin class name.

public static getPlugin(string $pluginApiPath, string $className[, mixed $arguments = NULL ]) : CSPlugin|null

As standard behaviour the module subfolder is guessed from the forward URL parameter. If a plugin should point to something in a special module subfolder, this scope can be added by adding the module name in squared bracket at the end of the $pluginApiPath, e.g. 'core/api/plugins/CSRecordPlugin.php[pms]' to get all CSRecordPlugins defined for pms records.

Parameters
$pluginApiPath : string

The relative path in filesystem for the requested plugin api (optional: ending with the module subfolder).

$className : string

The target plugin class name, which should be loaded.

$arguments : mixed = NULL

one or multiple arguments which should be passed to the isAvailable method.

Tags
Return values
CSPlugin|null

Returns the requested plugin for the given parameter.

getPluginChooser()

Returns an array all defined CSPlugins for the current plugin type

public static getPluginChooser(string $pluginApiPath[, mixed $arguments = NULL ]) : array<string|int, mixed>
Parameters
$pluginApiPath : string

the relative path in filesystem for the requested plugin api (optional: ending with the module subfolder).

$arguments : mixed = NULL

one ore multiple arguments which should be passed to the isAvailable method.

Tags
Return values
array<string|int, mixed>

of CSPlugins in the form [CLASSNAME => LABEL] where the CLASSNAME may be used in the CSPlugin::getPlugin method

getPluginData()

public getPluginData() : mixed
Tags
Return values
mixed

getPluginDefinitionFile()

Returns the path to the file, the plugin is defined.

public getPluginDefinitionFile() : string
Tags
Return values
string

the path to the plugin

getPluginName()

public getPluginName() : mixed
Tags
Return values
mixed

getPlugins()

Returns all defined CSPlugins for the current plugin type It should be used to get all matching plugins for a given plugin api.

public static getPlugins(string $pluginApiPath[, mixed $arguments = NULL ]) : array<string|int, CSPlugin>

As standard behaviour the module subfolder is guessed from the forward URL parameter. If a plugin should point to something in a special module subfolder, this scope can be added by adding the module name in squared bracket at the end of the $pluginApiPath, e.g. 'core/api/plugins/CSRecordPlugin.php[pms]' to get all CSRecordPlugins defined for pms records.

Parameters
$pluginApiPath : string

the relative path in filesystem for the requested plugin api (optional: ending with the module subfolder).

$arguments : mixed = NULL

one ore multiple arguments which should be passed to the isAvailable method.

Tags
Return values
array<string|int, CSPlugin>

array of CSPlugin objects matching the defined plugin criteria

getPluginsInModule()

Returns all CSPlugins for the current plugin type which are defined within the given module It should be used to get all matching plugins for a given plugin api.

public static getPluginsInModule(string $moduleName, string $pluginApiPath[, mixed $sFileNamePattern = '' ][, mixed $arguments = NULL ]) : array<string|int, mixed>
Parameters
$moduleName : string

the module which should be searched for plugins

$pluginApiPath : string

the relative path in filesystem for the requested plugin api.

$sFileNamePattern : mixed = ''
$arguments : mixed = NULL

one ore multiple arguments which should be passed to the isAvailable method.

Tags
Return values
array<string|int, mixed>

of CSPlugin objects matching the defined plugin criterias

guessProject()

If no project name is given, this method is called to guess the project.

public guessProject() : string

It should return the project name, if it can be guessed.

Tags
access

public

Return values
string

the guessed project name

isAvailable()

This method is called to check, whether the plugin is available.

public isAvailable() : bool

If further arguments are added to the CSPlugin::getPlugins call, they are added as arguments to this method.

For simpler usage of the plugin concept: This method should be overwritten with the correct signature for a plugin call, if arguments are passed.

Tags
Return values
bool

whether the plugin is available for the given arguments

loginSuccessfully()

If the authentication succeedes this method is called.

public loginSuccessfully(CSTicket $ticket) : mixed

It is possible to modify the CSTicket object or do other operations.

Parameters
$ticket : CSTicket

the ticket object the login results are in

Tags
access

public

Return values
mixed

resetLoadedPlugins()

reset the internal plugins cache for loaded plugins

public static resetLoadedPlugins() : mixed
Tags
@return

void;

access

public

Return values
mixed

shouldRegisterAuthenticationTicket()

Defines whether the system should register a ticket for the authenticated user. If returned as "false" no ticket will be created for the user and the authentication is only valid for the current request.

public shouldRegisterAuthenticationTicket() : bool
Tags
inheritDoc
Return values
bool

True (default), if a ticket should be registered for the current user, otherwise false.


        

Search results