attributes->get(Authenticate::USER); if (is_array($user)) { return $user; } throw new AuthenticationException; } /** * 可选登录:取到就返回 uuid,没登录返回 null,不抛异常。 * * 与中间件一致只认 bearer——`AuthService::current()` 会回落去读 cookie, * 那是 v2 的旁路,v3 不走。 */ protected function currentUserUid(Request $request): ?string { if ($user = $request->attributes->get(Authenticate::USER)) { return $user['user_uid']; } if (! $request->bearerToken()) { return null; } return AuthService::current($request)['user_uid'] ?? null; } }