Перейти к основному содержимому

Функции инициализации

Модули валидатора 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, остальные необязательны.