受支持版本: 当前版本 (18)
开发版本: devel

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 回调是必需的, 其他回调为可选。

提交更正

如果您发现文档中有不正确的内容、与您使用特定功能的经验不符或需要进一步说明,请使用此表单来报告文档问题。