Аутентификация Google Asp.net Ядро

#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 был закрыт.