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
回调函数,其他是可选的。
如果您在文档中发现任何不正确之处、与您对特定功能的实际体验不符之处或需要进一步澄清之处,请使用 此表单 来报告文档问题。