[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/plugins/system/webauthn/src/ -> Authentication.php (summary)

(no description)

Copyright: (C) 2020 Open Source Matters, Inc.
License: GNU General Public License version 2 or later; see LICENSE.txt
File Size: 551 lines (20 kb)
Included or required:0 times
Referenced: 0 times
Includes or requires: 0 files

Defines 16 functions

  __construct()
  getKnownAuthenticators()
  getCredentialsRepository()
  getMetadataRepository()
  getPubKeyCreationOptions()
  getPubkeyRequestOptions()
  validateAssertionResponse()
  validateAttestationResponse()
  hasAttestationSupport()
  setAttestationSupport()
  getSiteIcon()
  getUserEntity()
  getAvatar()
  getPubKeyDescriptorsForUser()
  getPKCredentialRequestOptions()
  getWebauthnServer()

Functions
Functions that are not part of a class:

__construct(ApplicationInterface $app = null,SessionInterface $session = null,PublicKeyCredentialSourceRepository $credRepo = null,?MetadataStatementRepository $mdsRepo = null)   X-Ref
Public constructor.

param: ApplicationInterface|null                 $app       The app we are running in
param: SessionInterface|null                     $session   The app session object
param: PublicKeyCredentialSourceRepository|null  $credRepo  Credentials repo
param: MetadataStatementRepository|null          $mdsRepo   Authenticator metadata repo

getKnownAuthenticators()   X-Ref
Get the known FIDO authenticators and their metadata

return: object[]

getCredentialsRepository()   X-Ref
Returns the Public Key credential source repository object

return: PublicKeyCredentialSourceRepository|null

getMetadataRepository()   X-Ref
Returns the authenticator metadata repository object

return: MetadataStatementRepository|null

getPubKeyCreationOptions(User $user)   X-Ref
Generate the public key creation options.

This is used for the first step of attestation (key registration).

The PK creation options and the user ID are stored in the session.

param: User  $user  The Joomla user to create the public key for
return: PublicKeyCredentialCreationOptions

getPubkeyRequestOptions(User $user)   X-Ref
Get the public key request options.

This is used in the first step of the assertion (login) flow.

param: User  $user  The Joomla user to get the PK request options for
return: PublicKeyCredentialRequestOptions

validateAssertionResponse(string $data, User $user)   X-Ref
Validate the authenticator assertion.

This is used in the second step of the assertion (login) flow. The server verifies that the
assertion generated by the authenticator has not been tampered with.

param: string  $data  The data
param: User    $user  The user we are trying to log in
return: PublicKeyCredentialSource

validateAttestationResponse(string $data)   X-Ref
Validate the authenticator attestation.

This is used for the second step of attestation (key registration), when the user has
interacted with the authenticator and we need to validate the legitimacy of its response.

An exception will be returned on error. Also, under very rare conditions, you may receive
NULL instead of a PublicKeyCredentialSource object which means that something was off in the
returned data from the browser.

param: string  $data  The data
return: PublicKeyCredentialSource|null

hasAttestationSupport()   X-Ref
Get the authentiactor attestation support.

return: boolean

setAttestationSupport(bool $attestationSupport)   X-Ref
Change the authenticator attestation support.

param: bool  $attestationSupport  The desired setting
return: void

getSiteIcon()   X-Ref
Try to find the site's favicon in the site's root, images, media, templates or current
template directory.

return: string|null

getUserEntity(User $user)   X-Ref
Returns a User Entity object given a Joomla user

param: User  $user  The Joomla user to get the user entity for
return: PublicKeyCredentialUserEntity

getAvatar(User $user, int $size = 64)   X-Ref
Get the user's avatar (through Gravatar)

param: User  $user  The Joomla user object
param: int   $size  The dimensions of the image to fetch (default: 64 pixels)
return: string  The URL to the user's avatar

getPubKeyDescriptorsForUser(User $user)   X-Ref
Returns an array of the PK credential descriptors (registered authenticators) for the given
user.

param: User  $user  The Joomla user to get the PK descriptors for
return: PublicKeyCredentialDescriptor[]

getPKCredentialRequestOptions()   X-Ref
Retrieve the public key credential request options saved in the session.

If they do not exist or are corrupt it is a hacking attempt and we politely tell the
attacker to go away.

return: PublicKeyCredentialRequestOptions

getWebauthnServer()   X-Ref
Get the WebAuthn library's Server object which facilitates WebAuthn operations

return: Server



Generated: Wed Sep 7 05:41:13 2022 Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer