CommonGateway\CoreBundle\Service\AuthenticationService

Methods

Name Description
__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 Gets 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.

AuthenticationService::__construct

Description

 __construct (void)

Parameters

This function has no parameters.

Return Values

void


AuthenticationService::checkHS256

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


AuthenticationService::checkHeadersAndGetJWK

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


AuthenticationService::checkRS256

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


AuthenticationService::checkRS512

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


AuthenticationService::convertRSAKeyToJWK

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


AuthenticationService::convertRSAtoJWK

Description

public convertRSAtoJWK (\Source $source)

Converts an RSA private key to a JWK.

Parameters

  • (\Source) $source

Return Values

\JWK

The resulting Json Web Key


AuthenticationService::createJwtToken

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


AuthenticationService::getAlgorithm

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


AuthenticationService::getApplicationId

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


AuthenticationService::getAuthentication

Description

public getAuthentication (void)

Gets the authentication values through various checks.

Parameters

This function has no parameters.

Return Values

void


AuthenticationService::getCertificate

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


AuthenticationService::getHmacToken

Description

public getHmacToken (void)

Gets a hmac token.

Parameters

This function has no parameters.

Return Values

void


AuthenticationService::getJWK

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


AuthenticationService::getJwtPayload

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


AuthenticationService::getJwtToken

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


AuthenticationService::getTokenFromUrl

Description

public getTokenFromUrl (\Source $source, string $authType)

Checks from which type of auth we need to fetch a token from.

Parameters

  • (\Source) $source
  • (string) $authType

Return Values

string|null

Fetched JWT token.


AuthenticationService::removeFiles

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


AuthenticationService::serializeUser

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


AuthenticationService::verifyJWTToken

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