У меня есть сайт веб-форм, в котором используется встроенная модель OpenAuth для членства в ASP.NET. Все работает уже полтора года, но я только узнал, что Google устарел OpenID 2.0 и закрыл его 20 апреля 2015 года (чуть больше недели).
Вот где абстракция действительно укусит вас в задницу, потому что все, что у меня есть, - это одна строка кода в моем AuthConfig.cs
OpenAuth.AuthenticationClients.AddGoogle();
Я обновил все свои пакеты NuGet, связанные с OpenAuth, надеясь, что это было исправлено под обложками, но без радости.
Есть ли простое решение для этого, или мне нужно полностью исключить и переписать часть аутентификации Google?
(Множество вопросов, связанных с этим, но я не нашел ничего, что было бы конкретно связано с внедрением Web-форм Memberhip.OpenAuth.)
Пакет Nuget " DotNetOpenAuth OAuth2 Client для Google " решил это для меня.
В AuthConfig.cs замените OpenAuth.AuthenticationClients.AddGoogle();
с:
var client = new GoogleOAuth2Client(clientID, clientSecret);
var extraData = new Dictionary<string, string>();
OpenAuth.AuthenticationClients.Add("Google", () => client, extraData);
Получите строковые значения clientID и clientSecret, настроив приложение Google.
На странице, отвечающей на перенаправление Uri, вы регистрируетесь в Google, добавьте GoogleOAuth2Client.RewriteRequest()
перед своим существующим вызовом OpenAuth.VerifyAuthentication(redirectUrl)
.