This commit is contained in:
baodev0
2026-07-01 10:51:05 +07:00
parent 914e96138a
commit 3bb59feba3
43 changed files with 1680 additions and 28 deletions
@@ -309,6 +309,37 @@ class ClientController extends Controller
}
}
/**
* Đổi mã impersonate (do admin cấp) lấy access token + refresh token.
* Endpoint public — code chỉ dùng được 1 lần và hết hạn sau 120s.
*/
public function impersonateExchange(Request $request)
{
$request->validate([
'code' => ['required', 'string', 'max:128'],
]);
$code = (string) $request->input('code');
$payload = \Illuminate\Support\Facades\Cache::pull("impersonate:{$code}");
if (!$payload) {
return response()->json([
'error' => true,
'message' => 'Mã đăng nhập không hợp lệ hoặc đã hết hạn.',
], 401);
}
return response()->json([
'error' => false,
'data' => [
'token' => $payload['token'],
'refresh_token' => $payload['refresh_token'],
'client' => $payload['client'],
'expires_in' => config('jwt.ttl', 60) * 60,
],
]);
}
public function forgotPassword(Request $request)
{
$request->validate([