| Name | Description |
|---|---|
| __construct | __construct |
| checkHS256 | Decides if the provided JWT token is signed with the HS256 Algorithm. |
| checkHeadersAndGetJWK | Checks the algorithm of the JWT token and decides how to generate a JWK from the provided public key. |
| checkRS256 | Decides if the provided JWT token is signed with the HS256 Algorithm. |
| checkRS512 | Decides if the provided JWT token is signed with the RS512 Algorithm. |
| convertRSAKeyToJWK | Converts a string RSA key to a JWK via the filesystem. |
| convertRSAtoJWK | Converts an RSA private key to a JWK. |
| createJwtToken | Creates a JWT token to identify with on the application. |
| getAlgorithm | Determines the algorithm for the JWT token to create from the source. |
| getApplicationId | Gets an application id for a source. |
| getAuthentication | Gets the authentication values through various checks. |
| getCertificate | Writes the certificate and ssl keys to disk, returns the filenames. |
| getHmacToken | Generates a hmac token. |
| getJWK | Gets a JWK for a source based on the algorithm of the source. |
| getJwtPayload | Creates the JWT payload to identify at an external source. |
| getJwtToken | Create a JWT token from Component settings. |
| getTokenFromUrl | Checks from which type of auth we need to fetch a token from. |
| removeFiles | Removes certificates and private keys from disk if they are not necessary anymore. |
| serializeUser | Serializes a user to be used by the token authenticator. |
| verifyJWTToken | Verifies the JWT token and returns the payload if the JWT token is valid. |
Description
public __construct (void)__construct
Parameters
This function has no parameters.
Return Values
void
Description
public checkHS256 (\JWT $token)Decides if the provided JWT token is signed with the HS256 Algorithm.
Parameters
(\JWT) $token: The token provided by the user.
Return Values
bool
Whether the token is in HS256 or not.
Description
public checkHeadersAndGetJWK (\JWT $token, string $publicKey)Checks the algorithm of the JWT token and decides how to generate a JWK from the provided public key.
Parameters
(\JWT) $token: The JWT token sent by the user(string) $publicKey: The public key provided by the application
Return Values
\JWK
The resulting JWK for verifying the JWT
Description
public checkRS256 (\JWT $token)Decides if the provided JWT token is signed with the HS256 Algorithm.
Parameters
(\JWT) $token: The token provided by the user.
Return Values
bool
Whether the token is in HS256 or not.
Description
public checkRS512 (\JWT $token)Decides if the provided JWT token is signed with the RS512 Algorithm.
Parameters
(\JWT) $token: The token provided by the user.
Return Values
bool
Whether the token is in HS256 or not.
Description
public convertRSAKeyToJWK (string $key)Converts a string RSA key to a JWK via the filesystem.
Parameters
(string) $key: The key to load
Return Values
\JWK
The resulting Json Web Key
Description
public convertRSAtoJWK (\Source $source)Converts an RSA private key to a JWK.
Parameters
(\Source) $source
Return Values
\JWK
The resulting Json Web Key
Description
public createJwtToken (string $key, array $payload)Creates a JWT token to identify with on the application.
Parameters
(string) $key: The private key to create a JWT token with(array) $payload: The payload to create a JWT token with
Return Values
string
The resulting JWT token
Description
public getAlgorithm (\Source $source)Determines the algorithm for the JWT token to create from the source.
Parameters
(\Source) $source: The source to determine the algorithm for
Return Values
string
The algorithm to use
Description
public getApplicationId (\Source $source)Gets an application id for a source.
Parameters
(\Source) $source: The source to dermine the application id for
Return Values
string
The application ID to use
Description
public getAuthentication (\Source $source, array|null $config, array|null $requestInfo)Gets the authentication values through various checks.
Parameters
(\Source) $source: The Source.(array|null) $config: The optional, updated Source configuration array.(array|null) $requestInfo: The optional, given request info.
Return Values
array
Description
public getCertificate (array $config)Writes the certificate and ssl keys to disk, returns the filenames.
Parameters
(array) $config: The configuration as stored in the source
Return Values
array
The overrides on the configuration with filenames instead of certificate contents
Description
public getHmacToken (array $requestOptions, \Source $source)Generates a hmac token.
Parameters
(array) $requestOptions: Array of request options like method, url & body.(\Source) $source: A Source.
Return Values
string
The hmac token.
Description
public getJWK (string $algorithm, \Source $source)Gets a JWK for a source based on the algorithm of the source.
Parameters
(string) $algorithm(\Source) $source
Return Values
\JWK
The resulting Json Web Key
Description
public getJwtPayload (\Source $source)Creates the JWT payload to identify at an external source.
Parameters
(\Source) $source: The source to create a payload for
Return Values
string
The JWT payload to use
Description
public getJwtToken (\Source $source)Create a JWT token from Component settings.
Parameters
(\Source) $source: The source to authenticate to
Return Values
string
The resulting JWT token
Description
public getTokenFromUrl (\Source $source, string $authType, array|null $config)Checks from which type of auth we need to fetch a token from.
Parameters
(\Source) $source(string) $authType(array|null) $config: The optional, updated Source configuration array.
Return Values
string|null
Fetched JWT token.
Description
public removeFiles (array $config)Removes certificates and private keys from disk if they are not necessary anymore.
Parameters
(array) $config: The configuration with filenames
Return Values
void
Description
public serializeUser (\User $user, \SessionInterface $session)Serializes a user to be used by the token authenticator.
Parameters
(\User) $user: The user to be serialized(\SessionInterface) $session: The session to use
Return Values
array
The serialized user
Description
public verifyJWTToken (string $token, string $publicKey)Verifies the JWT token and returns the payload if the JWT token is valid.
Parameters
(string) $token: The token to verify(string) $publicKey: The public key to verify the token to
Return Values
array
The payload of the token
Throws Exceptions
\HttpException
Thrown when the token cannot be verified