| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?php
- namespace App\Module\OAuth\Controllers;
- use App\Http\Controllers\Controller;
- use App\Module\OAuth\Services\OAuth;
- use Illuminate\Http\Request;
- use Illuminate\Http\JsonResponse;
- class UserController extends Controller
- {
- /**
- * 获取当前用户信息
- */
- public function me(Request $request): JsonResponse
- {
- // 从请求头获取 Bearer Token
- $token = $request->bearerToken();
- if (!$token) {
- return response()->json([
- 'error' => 'invalid_request',
- 'error_description' => '缺少访问令牌'
- ], 401);
- }
- // 验证访问令牌
- $accessToken = OAuth::validateAccessToken($token);
- if (!$accessToken) {
- return response()->json([
- 'error' => 'invalid_token',
- 'error_description' => '无效的访问令牌'
- ], 401);
- }
- // 获取用户信息
- $user = \App\Module\User\Models\User::find($accessToken->user_id);
- if (!$user) {
- return response()->json([
- 'error' => 'invalid_token',
- 'error_description' => '用户不存在'
- ], 401);
- }
- // 返回用户信息
- return response()->json([
- 'id' => $user->user_id,
- 'username' => $user->mobile,
- 'name' => $user->nickname,
- 'email' => $user->mobile.'@188.com',
- 'scope' => $accessToken->scope
- ]);
- }
- }
|