#asp.net #asp.net-mvc #google-authentication
#asp.net #asp.net-mvc #google-аутентификация
Вопрос:
Я получаю приведенную ниже ошибку при попытке входа с помощью Google в моем веб-приложении. Оно отлично работает при использовании localhost
Это pelusoftcamerawebapp.azurewebsites.net страница не найдена Веб-страница не найдена для веб-адреса: https://pelusoftcamerawebapp.azurewebsites.net/signin-google?state=CfDJ8BRnSyuVZrdLjm6frrOu1DBgXqvK5dey3eI632SEKrS7vg ……..
код входа в систему goole:
[HttpGet]
[Route("google-login")]
public IActionResult GoogleLogin(string returnUrl = null)
{
var authProperties = new Microsoft.AspNetCore.Authentication.AuthenticationProperties
{
RedirectUri = string.IsNullOrEmpty(returnUrl) ? "account/profile" : returnUrl,
IsPersistent = true
};
return Challenge(authProperties, new string[] { "google" });
}
Я добавил pelusoftcamerawebapp.azurewebsites.net
в консоль Google проверку домена
у вас есть какие-нибудь идеи?
Комментарии:
1. pelusoftcamerawebapp.azurewebsites.net/signin-google возвращает значение 404. URL-адрес просто не существует. Вы забыли его развернуть или что-то в этом роде?
2. приложение развернуто, вы можете получить к нему доступ
3. Да, я вижу это, но
/signin-google
URL (как указано в сообщении об ошибке) не существует, это моя точка зрения. Я имел в виду, что, возможно, вы не развернули версию, которая включает функциональность, позволяющую заставить этот бит работать.4. это часть аутентификации Google. Оно не существует на соседнем локальном хостинге, но оно будет перехвачено обработчиком Google
5. тогда я бы предположил, что, предположительно, код обработчика Google либо не работает, либо неправильно развернут. Очевидно, что без кода или конфигурационной информации я немного стреляю в темноте. Возможно, приведенный ниже ответ каким-то образом имеет отношение к делу.
Ответ №1:
Поскольку Google отключил Google Plus, механизм аутентификации на основе Google Plus был изменен, и это также повлияло на существующую аутентификацию Google в ASP.NET и ASP.NET Ядро.
Корпорация Майкрософт обновила библиотеку аутентификации Google для обоих ASP.NET и ASP.NET Ядро.
Вот более подробная информация: Устаревание и замена аутентификации на основе Google
Комментарии:
1. все это может быть правдой, но это не объясняет, почему ошибка возникает только в развернутой среде, а не в localhost. Если бы сторона Google была обновлена, я бы ожидал, что код OP не будет работать ни в какой среде, не так ли? Также где в вопросе упоминается Google Plus?
2. @ADyson Да! Вы правы.
Also where does the question mention Google Plus?
— В ASP.NET и ASP.NET Ядро аутентификации Google фактически основывалось на Google Plus, и теперь оно изменилось, поскольку Google Plus был закрыт.