|
@@ -31,15 +31,17 @@ public function login(string $email, string $password, string $origem): ?array
|
|
|
|
|
|
|
|
$user->update(['last_login_at' => now()]);
|
|
$user->update(['last_login_at' => now()]);
|
|
|
|
|
|
|
|
|
|
+ $user->load('units');
|
|
|
|
|
+
|
|
|
$deviceId = Str::uuid()->toString();
|
|
$deviceId = Str::uuid()->toString();
|
|
|
|
|
|
|
|
- $accessToken = $user->createAccessToken($deviceId);
|
|
|
|
|
|
|
+ $accessToken = $user->createAccessToken($deviceId);
|
|
|
$refreshToken = $user->createRefreshToken($deviceId);
|
|
$refreshToken = $user->createRefreshToken($deviceId);
|
|
|
|
|
|
|
|
return [
|
|
return [
|
|
|
"payload" => [
|
|
"payload" => [
|
|
|
"access_token" => $accessToken,
|
|
"access_token" => $accessToken,
|
|
|
- "user" => $user,
|
|
|
|
|
|
|
+ "user" => $user,
|
|
|
],
|
|
],
|
|
|
"refreshToken" => $refreshToken,
|
|
"refreshToken" => $refreshToken,
|
|
|
];
|
|
];
|
|
@@ -62,10 +64,13 @@ public function refresh(string $refreshToken): ?array
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
$user = $tokenModel->tokenable;
|
|
$user = $tokenModel->tokenable;
|
|
|
|
|
+
|
|
|
if (!$user) {
|
|
if (!$user) {
|
|
|
return null;
|
|
return null;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ $user->load('units');
|
|
|
|
|
+
|
|
|
$deviceId = Str::afterLast($tokenModel->name, "_");
|
|
$deviceId = Str::afterLast($tokenModel->name, "_");
|
|
|
|
|
|
|
|
$tokens = $this->refreshTokenTransaction($tokenModel, $user, $deviceId);
|
|
$tokens = $this->refreshTokenTransaction($tokenModel, $user, $deviceId);
|
|
@@ -73,7 +78,7 @@ public function refresh(string $refreshToken): ?array
|
|
|
return [
|
|
return [
|
|
|
"payload" => [
|
|
"payload" => [
|
|
|
"access_token" => $tokens["access_token"],
|
|
"access_token" => $tokens["access_token"],
|
|
|
- "user" => $user,
|
|
|
|
|
|
|
+ "user" => $user,
|
|
|
],
|
|
],
|
|
|
"refreshToken" => $tokens["refresh_token"],
|
|
"refreshToken" => $tokens["refresh_token"],
|
|
|
];
|
|
];
|
|
@@ -149,11 +154,13 @@ public function verifyPasswordCode(string $email, string $code): bool
|
|
|
public function logout(): void
|
|
public function logout(): void
|
|
|
{
|
|
{
|
|
|
$user = Auth::user();
|
|
$user = Auth::user();
|
|
|
|
|
+
|
|
|
if (!$user) {
|
|
if (!$user) {
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
$tokenName = $user->currentAccessToken()->name;
|
|
$tokenName = $user->currentAccessToken()->name;
|
|
|
|
|
+
|
|
|
$deviceId = Str::afterLast($tokenName, "_");
|
|
$deviceId = Str::afterLast($tokenName, "_");
|
|
|
|
|
|
|
|
$user
|
|
$user
|
|
@@ -163,9 +170,7 @@ public function logout(): void
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
protected function refreshTokenTransaction(
|
|
protected function refreshTokenTransaction(
|
|
|
- PersonalAccessToken $tokenModel,
|
|
|
|
|
- User $user,
|
|
|
|
|
- string $deviceId,
|
|
|
|
|
|
|
+ PersonalAccessToken $tokenModel, User $user, string $deviceId,
|
|
|
): array {
|
|
): array {
|
|
|
return DB::transaction(function () use (
|
|
return DB::transaction(function () use (
|
|
|
$tokenModel,
|
|
$tokenModel,
|
|
@@ -174,11 +179,11 @@ protected function refreshTokenTransaction(
|
|
|
): array {
|
|
): array {
|
|
|
$tokenModel->update(["expires_at" => Carbon::now()]);
|
|
$tokenModel->update(["expires_at" => Carbon::now()]);
|
|
|
|
|
|
|
|
- $accessToken = $user->createAccessToken($deviceId);
|
|
|
|
|
|
|
+ $accessToken = $user->createAccessToken($deviceId);
|
|
|
$refreshToken = $user->createRefreshToken($deviceId);
|
|
$refreshToken = $user->createRefreshToken($deviceId);
|
|
|
|
|
|
|
|
return [
|
|
return [
|
|
|
- "access_token" => $accessToken,
|
|
|
|
|
|
|
+ "access_token" => $accessToken,
|
|
|
"refresh_token" => $refreshToken,
|
|
"refresh_token" => $refreshToken,
|
|
|
];
|
|
];
|
|
|
});
|
|
});
|