feat: 로그인 응답에 사용자/테넌트/메뉴 정보 추가
- MemberService::getUserInfoForLogin() 메서드 추가
- 사용자 기본 정보 (id, user_id, name, email, phone)
- 활성 테넌트 정보 (is_default 우선 → is_active 차순)
- 테넌트 없는 경우 null 반환
- 추가 테넌트 목록 (other_tenants 배열)
- 권한 기반 메뉴 필터링 (menu:{id}.view)
- 권한 체크 3단계
- 기본 Role 권한 (model_has_permissions)
- Override 권한 (permission_overrides, 시간 제약)
- 우선순위: deny(-1) > allow(1) > base permission
- ApiController::login() 응답 구조 변경
- 기존: {message, user_token}
- 개선: {message, user_token, user, tenant, menus}
- Swagger 문서 업데이트 (AuthApi.php)
- 테넌트 있는 경우 응답 스키마
- 테넌트 없는 경우 응답 스키마 (null)
- 에러 케이스 추가 (400, 401, 404)
This commit is contained in:
@@ -56,9 +56,15 @@ public function login(Request $request)
|
||||
$user->remember_token = $USER_TOKEN;
|
||||
$user->save();
|
||||
|
||||
// 사용자 정보 조회 (테넌트 + 메뉴 포함)
|
||||
$loginInfo = \App\Services\MemberService::getUserInfoForLogin($user->id);
|
||||
|
||||
return response()->json([
|
||||
'message' => '로그인 성공',
|
||||
'user_token' => $token,
|
||||
'user' => $loginInfo['user'],
|
||||
'tenant' => $loginInfo['tenant'],
|
||||
'menus' => $loginInfo['menus'],
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user