fix: login with google fixed
This commit is contained in:
@@ -499,7 +499,6 @@ public function googleLogin(Request $request)
|
|||||||
$data = $request->validate([
|
$data = $request->validate([
|
||||||
'access_token' => 'string|required',
|
'access_token' => 'string|required',
|
||||||
'package_name' => 'string|required',
|
'package_name' => 'string|required',
|
||||||
'source' => [Rule::in(PackageName::SOURCES), 'integer']
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
if (!$packageName = PackageName::where('name', $data['package_name'])->first()) {
|
if (!$packageName = PackageName::where('name', $data['package_name'])->first()) {
|
||||||
@@ -517,21 +516,35 @@ public function googleLogin(Request $request)
|
|||||||
'message' => 'invalid token'
|
'message' => 'invalid token'
|
||||||
], 400);
|
], 400);
|
||||||
}
|
}
|
||||||
if (!$user = User::where('email', $response['email'])->first()) {
|
|
||||||
|
$user = User::where('email', $response['email'])->first();
|
||||||
|
|
||||||
|
if (!$user) {
|
||||||
$user = User::create([
|
$user = User::create([
|
||||||
'email' => $response['email'],
|
'email' => $response['email'],
|
||||||
'first_name' => $response['given_name'] ?? null,
|
'first_name' => $response['given_name'] ?? null,
|
||||||
'last_name' => $response['family_name'] ?? null,
|
'last_name' => $response['family_name'] ?? null,
|
||||||
'password' => config('app.default_password'),
|
'password' => config('app.default_password'),
|
||||||
|
'email_verified_at' => now(),
|
||||||
]);
|
]);
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
if (!$user->packageNames()->where('package_names.id', $packageName->id)->exists()) {
|
|
||||||
$user->packageNames()->attach($packageName->id, [
|
$user->packageNames()->attach($packageName->id, [
|
||||||
'tries' => $packageName->tries,
|
'tries' => $packageName->tries,
|
||||||
'source' => $data['source'] ?? 0,
|
'source' => $data['source'] ?? 0,
|
||||||
]);
|
]);
|
||||||
|
} else {
|
||||||
|
if (!$user->email_verified_at) {
|
||||||
|
$user->update([
|
||||||
|
'email_verified_at' => now(),
|
||||||
|
]);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$user->packageNames()->where('package_names.id', $packageName->id)->exists()) {
|
||||||
|
$user->packageNames()->attach($packageName->id, [
|
||||||
|
'tries' => $packageName->tries,
|
||||||
|
'source' => $data['source'] ?? 0,
|
||||||
|
]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$token = $user->createToken('token', ['user'])->plainTextToken;
|
$token = $user->createToken('token', ['user'])->plainTextToken;
|
||||||
@@ -541,4 +554,5 @@ public function googleLogin(Request $request)
|
|||||||
'token' => $token,
|
'token' => $token,
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user