Аутентификация через Гугл // Веб Формы ASP.Net
Следуя документации в классе Startup идентифицирую "secret" и "id"
{
ClientId = "Client ID for Web application => аккаунт гугл с настройками приложения",
ClientSecret = "Client secret => там же секрет"
// так тоже проверила, хотя она задается по умолчанию CallbackPath = new PathString("/signin-google")
});
При попытке аутентифицироваться через гугл никуда не перенаправляет
(три дня назад перенаправлял на страницу гугл и после ввода аккаунта и пароля возвращал на страницу /Account, потом переустановила систему на Windows11 и теперь просто отстается на странице /Account и молчит...)
начала отладку, останавливаюсь на загрузке странице...а именно на loginInfo == null
{
// Обработка результата от поставщика проверки подлинности в запросе
ProviderName = IdentityHelper.GetProviderNameFromRequest(Request);
if (String.IsNullOrEmpty(ProviderName))
{
RedirectOnFail();
return;
}
if (!IsPostBack)
{
var manager = Context.GetOwinContext().GetUserManager<ApplicationUserManager>();
var signInManager = Context.GetOwinContext().Get<ApplicationSignInManager>();
var loginInfo = Context.GetOwinContext().Authentication.GetExternalLoginInfo();
if (loginInfo == null)
{
//Входит в этот if при отладке
RedirectOnFail();
return;
}
............
если это localhost, то почему в примере в данной документации не вижу об этом ничего
Ответы (1 шт):
(три дня назад перенаправлял на страницу гугл и после ввода аккаунта и пароля возвращал на страницу /Account, потом переустановила систему на Windows11 и теперь просто отстается на странице /Account и молчит...)
Именно потому, что Windows был переустановлен, localhost изменился у приложения, и тот пользователь, что вы добавили в вашем гугл аккаунте, уже не знает данного localhost-a.
То есть если следовать инстуркции/документации, то можно использовать ваш localhost и авторизоваться через гугл, НО важно очень внимательно обратить внимание на три аспекта:
- Client ID
- Client Secret
- и соответсвтенно верный localhost
в файле Startup.Auth откоментировать идентификацию и выставить ID и Secret ИМЕННО того пользователя, которому Вы открыли доступ на Вашем гугл аккаунте, происходит merge и вы спокойно через localhost пользуетесь своим приложением. а localhost сохраняете в Вашем гугл аккаунте все для того же пользователя, и для каждого нового пользователя нужно открывать новый доступ в этой документации очень подробно все изложено, просто внимательней на три аспекта, в вашем/моем случае вы пропустили проверку localhost-а


