PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 18 beta 2 » Programmation serveur » Modules de validation OAuth » Fonctions d'initialisation

50.2. Fonctions d'initialisation #

Les modules de validation OAuth sont chargés dynamiquement à partir des bibliothèques partagées listées dans oauth_validator_libraries. Les modules sont chargés à la demande lorsqu'une tentative de connexion le requiert. Le chemin de recherche standard des bibliothèques est utilisé pour localiser la bibliothèque. Pour fournir les fonctions de callback du validateur et indiquer que la bibliothèque est bien un module de validation OAuth, une fonction nommée _PG_oauth_validator_module_init doit être définie. La valeur de retour de cette fonction doit être un pointeur vers une structure de type OAuthValidatorCallbacks, qui contient un nombre magique ainsi que des pointeurs vers les fonctions de validation du module. Le pointeur retourné doit avoir une durée de vie égale à celle du serveur, ce qui est généralement obtenu en le définissant comme une variable static const dans la portée globale.

typedef struct OAuthValidatorCallbacks
{
    uint32        magic;            /* doit être défini à PG_OAUTH_VALIDATOR_MAGIC */

    ValidatorStartupCB startup_cb;
    ValidatorShutdownCB shutdown_cb;
    ValidatorValidateCB validate_cb;
} OAuthValidatorCallbacks;

typedef const OAuthValidatorCallbacks *(*OAuthValidatorModuleInit) (void);

Seule la fonction callback validate_cb est obligatoire, les autres sont optionnelles.