开发快照。 PostgreSQL 20devel 尚未正式发布,内容仍可能变化。
50.2. 初始化函数 #
OAuth 验证器模块从 oauth_validator_libraries 列出的共享库中动态加载。当正在进行的登录请求需要它们时,模块会按需加载。库定位使用常规库搜索路径。为了提供验证器回调并声明该库是 OAuth 验证器模块,必须提供名为
_PG_oauth_validator_module_init 的函数。该函数的返回值必须是指向
OAuthValidatorCallbacks 类型结构体的指针,其中包含魔数以及指向模块令牌校验函数的指针。返回的指针必须具有服务器生命周期,通常通过在全局作用域中将其定义为
static const 变量实现。
typedef struct OAuthValidatorCallbacks
{
uint32 magic; /* must be set to PG_OAUTH_VALIDATOR_MAGIC */
ValidatorStartupCB startup_cb;
ValidatorShutdownCB shutdown_cb;
ValidatorValidateCB validate_cb;
} OAuthValidatorCallbacks;
typedef const OAuthValidatorCallbacks *(*OAuthValidatorModuleInit) (void);
只有 validate_cb 回调是必需的,其他回调为可选。