50.3. OAuth 유효성 검사기 토토 핫#

OAuth 유효성 검사기 모듈은 토토 핫 세트를 정의하여 기능을 구현합니다. 서버는 사용자의 인증 요청을 처리하기 위해 필요에 따라 이를 호출합니다.

50.3.1. 시작 토토 핫#

startup_cb콜백은 모듈 로드 후 직접 실행됩니다. 이 콜백은 로컬 상태를 설정하고 필요한 경우 추가 초기화를 수행하는 데 사용될 수 있습니다. 유효성 검사기 모듈에 상태가 있으면 다음을 사용할 수 있습니다.상태-비공개_데이터저장합니다.

typedef void (*ValidatorStartupCB) (ValidatorModuleState *state);

50.3.2. 토토 핫 확인#

validate_cb7748_7901상태-비공개_데이터.

typedef bool (*ValidatorValidateCB) (const ValidatorModuleState *state,
                                     const char *토큰, const char *역할,
                                     ValidatorModuleResult *결과);

토큰검증할 전달자 토큰이 포함됩니다.포스트그레SQL토큰이 구문적으로 올바른 형식임을 확인했지만 다른 검증은 수행되지 않았습니다.역할에는 사용자가 로그인을 요청한 역할이 포함됩니다. 콜백은에서 출력 매개변수를 설정해야 합니다.결과구조체, 아래와 같이 정의됨:

typedef struct ValidatorModuleResult

    bool 승인됨;
    char *authn_id;
 ValidatorModuleResult;

모듈이 설정된 경우에만 연결이 진행됩니다.결과-승인됨. 사용자를 인증하려면 인증된 사용자 이름(토큰을 사용하여 결정됨)을 palloc으로 지정하고결과-authn_id필드. 또는,결과-authn_id토큰이 유효하지만 연결된 사용자 ID를 확인할 수 없는 경우 NULL로 설정될 수 있습니다.

검증기가 돌아올 수 있습니다.거짓내부 오류를 알리기 위한 것입니다. 이 경우 결과 매개변수가 무시되고 연결이 실패합니다. 그렇지 않으면 유효성 검사기가 반환되어야 합니다.토큰을 처리하고 승인 결정을 내렸음을 나타냅니다.

이후의 행동validate_cb반환은 특정 HBA 설정에 따라 다릅니다. 일반적으로,결과-authn_id사용자 이름은 사용자가 로그인하는 역할과 정확히 일치해야 합니다. (이 동작은 사용자 맵으로 수정될 수 있습니다.) 그러나 다음을 사용하여 HBA 규칙에 대해 인증하는 경우delegate_ident_mapping켜짐,PostgreSQL값에 대해 어떠한 확인도 수행하지 않습니다.결과-authn_id전혀; 이 경우 토큰이 사용자가 표시된 아래에 로그인할 수 있는 충분한 권한을 전달하는지 확인하는 것은 유효성 검사기에 달려 있습니다.역할.

50.3.3. 종료 토토 핫#

shutdown_cb콜백은 연결과 관련된 백엔드 프로세스가 종료될 때 실행됩니다. 유효성 검사기 모듈에 할당된 상태가 있는 경우 이 콜백은 리소스 누출을 방지하기 위해 해당 모듈을 해제해야 합니다.

typedef void (*ValidatorShutdownCB) (ValidatorModuleState *state);

수정사항 제출

문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.