Yoast\WP\SEO\AI_Authorization\User_Interface

Abstract_Callback_Route::callbackpublicYoast 1.0

Runs the callback to store connection credentials and the tokens locally.

Метод класса: Abstract_Callback_Route{}

Хуков нет.

Возвращает

WP_REST_Response. The response of the callback action.

Использование

$Abstract_Callback_Route = new Abstract_Callback_Route();
$Abstract_Callback_Route->callback( $request ): WP_REST_Response;
$request(WP_REST_Request) (обязательный)
The request object.

Код Abstract_Callback_Route::callback() Yoast 27.8

public function callback( WP_REST_Request $request ): WP_REST_Response {
	$user_id = $request->get_param( 'user_id' );
	try {
		$code_verifier = $this->code_verifier_repository->get_code_verifier( $user_id );

		if ( $request->get_param( 'code_challenge' ) !== \hash( 'sha256', $code_verifier->get_code() ) ) {
			throw new Unauthorized_Exception( 'Unauthorized' );
		}

		$this->access_token_repository->store_token( $user_id, $request->get_param( 'access_jwt' ) );
		$this->refresh_token_repository->store_token( $user_id, $request->get_param( 'refresh_jwt' ) );
		$this->code_verifier_repository->delete_code_verifier( $user_id );
	} catch ( Unauthorized_Exception | RuntimeException $e ) {
		return new WP_REST_Response( 'Unauthorized.', 401 );
	}

	return new WP_REST_Response(
		[
			'message'       => 'Tokens successfully stored.',
			'code_verifier' => $code_verifier->get_code(),
		],
	);
}