Функции инициализации
Модули валидатора OAuth динамически загружаются из разделяемых библиотек, перечисленных в oauth_validator_libraries. Модули загружаются по запросу при выполнении авторизации. Для поиска библиотеки используется обычный путь поиска библиотек. Для предоставления обратных вызовов валидатора и указания на то, что библиотека является модулем валидатора OAuth, необходимо предоставить функцию с именем _PG_oauth_validator_module_init. Возвращаемое значение функции должно быть указателем на структуру типа OAuthValidatorCallbacks, которая содержит магическое число и указатели на функции проверки токенов модуля. Возвращаемый указатель должен иметь время жизни на сервере, что обычно достигается путем определения его как статической константной переменной в глобальной области видимости.
typedef struct OAuthValidatorCallbacks
{
uint32 magic; /* необходимо установить значение PG_OAUTH_VALIDATOR_MAGIC */
ValidatorStartupCB startup_cb;
ValidatorShutdownCB shutdown_cb;
ValidatorValidateCB validate_cb;
} OAuthValidatorCallbacks;
typedef const OAuthValidatorCallbacks *(*OAuthValidatorModuleInit) (void);
Требуется только коллбэк validate_cb, остальные необязательны.