Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
chromed
/
wp-content
/
plugins
/
woocommerce
/
src
/
Api
/
Infrastructure
:
PrincipalResolver.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php declare(strict_types=1); namespace Automattic\WooCommerce\Api\Infrastructure; /** * 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). */ 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() ); } }