update
This commit is contained in:
@@ -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([
|
||||
|
||||
Reference in New Issue
Block a user