Automattic\WooCommerce\Api\Infrastructure
PrincipalResolver{}
Default principal resolver for the WooCommerce dual code+GraphQL API.
Plugins that implement their own API and authenticate against something other than WordPress users (e.g. an app token) must ship their own resolver at <plugin-api-namespace>\Infrastructure\PrincipalResolver with a resolve_principal( \WP_REST_Request ): T (or zero-arg) method whose return type is the plugin's own principal class. ApiBuilder detects it during generation and routes the autogenerated controller through it.
The \WP_REST_Request parameter is optional; the default resolver doesn't inspect headers (WordPress's auth pipeline has already populated the global current user by the time this fires).
No Hooks.
Usage
$PrincipalResolver = new PrincipalResolver(); // use class methods
Methods
- public resolve_principal()
PrincipalResolver{} PrincipalResolver{} code WC 10.9.1
final class PrincipalResolver {
/**
* Resolve the request principal.
*
* Anonymous requests are signalled by a Principal whose underlying
* `WP_User` has `ID === 0` (see {@see Principal::is_authenticated()}).
*/
public function resolve_principal(): Principal {
return new Principal( wp_get_current_user() );
}
}