Я работаю над входом в систему с помощью Apple API в laravel 10. Но URL-адрес перенаправления выдает эту ошибку: «Метод POST не поддерживается для маршрута auth/apple/callback. Поддерживаемые методы: GET, HEAD».
Я использую метод get на маршруте. Я также попробовал метод «POST», но затем он выдал ошибку 419 с истекшим сроком действия страницы.
Я использую ngrok для URL-адреса перенаправления, поскольку Apple не поддерживает http-запрос для URL-адреса перенаправления.
Эти мои маршруты
Route::middleware(['web'])->group(function () {
Route::get('auth/apple', [AppleLoginController::class,'redirectToApple']);
Route::get('auth/apple/callback', [AppleLoginController::class,'handleAppleCallback']);
});
А это методы контроллера
public function redirectToApple()
{
return Socialite::driver('apple')->redirect();
}
public function handleAppleCallback()
{
try {
$appleUser = Socialite::driver('apple')->user();
$user = User::where('apple_id', $appleUser->id)->orWhere('email', $appleUser->email)->first();
// If the user doesn't exist, create a new user
$uuid = Uuid::uuid4();
if (!$user) {
$new_user = User::updateOrCreate(['email' => $appleUser->email], [
'name' => $appleUser->name,
'apple_id' =>$appleUser->id,
'u_id' => substr($uuid->toString(), 0, 16),
'password' => encrypt(Str::random())
]);
}
Auth::login($new_user ?? $user);
event(new Registered($new_user));
return response()->success("Login Successfull");
} catch (InvalidStateException $e) {
return response()->error($e->getMessage(), 'Apple Sign-In Failed');
}
}
Это URL-адрес перенаправления в файле .env
APPLE_REDIRECT_URI=https://f41e-2407-d000-d-25ae-70b2-4bc- ... e/callback
Подробнее здесь: https://stackoverflow.com/questions/771 ... ted-method
Метод POST не поддерживается для маршрута auth/apple/callback. Поддерживаемые методы: GET, HEAD. Войти через Apple ⇐ Php
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Метод PATCH не поддерживается для ролей маршрута. Поддерживаемые методы: GET, HEAD, POST.
Anonymous » » в форуме Php - 0 Ответы
- 109 Просмотры
-
Последнее сообщение Anonymous
-