50.2. ФÑнкÑии иниÑиализаÑии #
ÐодÑли пÑовеÑки OAuth загÑÑжаÑÑÑÑ Ð´Ð¸Ð½Ð°Ð¼Ð¸ÑеÑки из ÑазделÑемÑÑ
библиоÑек, ÑказаннÑÑ
в паÑамеÑÑе oauth_validator_libraries. Ðни загÑÑжаÑÑÑÑ Ð¿Ð¾ ÑÑÐµÐ±Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² пÑоÑеÑÑе вÑ
ода в ÑиÑÑемÑ. ÐÐ»Ñ Ð½Ð°Ñ
Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñеки пÑименÑеÑÑÑ Ð¾Ð±ÑÑнÑй пÑÑÑ Ð¿Ð¾Ð¸Ñка библиоÑек. ÐеобÑ
одима ÑÑнкÑÐ¸Ñ _PG_oauth_validator_module_init, коÑоÑÐ°Ñ Ð¿Ð¾ÐºÐ°Ð·ÑваеÑ, ÑÑо библиоÑека на Ñамом деле ÑвлÑеÑÑÑ Ð¼Ð¾Ð´Ñлем пÑовеÑки OAuth, и ÑÑÑÐ°Ð½Ð°Ð²Ð»Ð¸Ð²Ð°ÐµÑ Ð¾Ð±ÑабоÑÑики пÑовеÑки. ÐÑа ÑÑнкÑÐ¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ð° возвÑаÑаÑÑ ÑказаÑÐµÐ»Ñ Ð½Ð° ÑÑÑÑкÑÑÑÑ Ñипа 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, оÑÑалÑнÑе â необÑзаÑелÑнÑе.