Skip to content

Commit e048538

Browse files
committed
Enhance login process in LoginController by adding cookie management for access and refresh tokens
This commit updates the login method in the LoginController to include the generation and setting of access and refresh tokens as cookies upon successful authentication. It incorporates environment-based cookie settings for improved security and user experience, ensuring tokens are properly managed during the login process.
1 parent 0eb6116 commit e048538

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

app/Http/Controllers/Auth/LoginController.php

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,13 @@
33
namespace App\Http\Controllers\Auth;
44

55

6+
use Carbon\Carbon;
7+
use Illuminate\Http\Request;
8+
use App\Services\Auth\LoginService;
69
use App\Http\Controllers\Controller;
10+
711
use App\Repositories\GetClientRepository;
812
use App\Services\Auth\GenerateTokenUserService;
9-
use App\Services\Auth\LoginService;
10-
11-
use Illuminate\Http\Request;
1213

1314
class LoginController extends Controller
1415
{
@@ -32,7 +33,24 @@ public function login(Request $request){
3233
return response()->json(['message'=>"vous n'avez pas les droits d'acces à cette application"], 403);
3334
}
3435
$tokenUser=(new GenerateTokenUserService())->generate($client,$loginUser,$data['password'],$request);
35-
return $tokenUser;
36+
37+
$tokenData = json_decode($tokenUser->getContent(), true);
38+
39+
if ($tokenUser->getStatusCode() === 200) {
40+
$accessToken = $tokenData['access_token'];
41+
$refreshToken = $tokenData['refresh_token'];
42+
43+
$domain = (config('app.env') === 'production') ? '.akevas.com' : null;
44+
$secure = config('app.env') === 'production';
45+
46+
return response()->noContent(204)->cookie('accessToken', $accessToken,
47+
Carbon::now()->addMinutes(config('passport.token_ttl'))->timestamp,
48+
'/', $domain, $secure, true, false, 'none')
49+
->cookie('refreshToken', $refreshToken,
50+
Carbon::now()->addDays(30)->timestamp,
51+
'/', $domain, $secure, true, false, 'none');
52+
}
53+
3654
}catch(\Exception $e){
3755
return response()->json([
3856
'success' => false,

0 commit comments

Comments
 (0)