Как перейти с устаревшего API входа в Google+ на новую платформу Google Identity в проекте MVC? - PullRequest
0 голосов
/ 25 декабря 2018

Несколько дней назад я получил по электронной почте уведомление о том, что Google устарел в своих API-интерфейсах Google+:

7 марта 2019 года все API-интерфейсы Google+ и вход в Google+ будут полностью закрыты.Это будет постепенное завершение работы, начинающееся в конце января, когда вызовы этих API начинают периодически прерываться с 28 января 2019 года.

В настоящее время я использую вход в Google+ в качестве внешнего поставщика входа в систему вмой проект ASP.NET MVC.По-видимому, документация ASP.NET еще не была обновлена ​​(на момент написания), чтобы принять во внимание этот устаревший API .

Есть ли какое-либо руководство о том, действительно ли *Способ расширения 1011 * все еще можно использовать в промежуточном программном обеспечении AuthenticationBuilder, если да, то как?Если нет, где я могу найти руководство по переходу с Google+ на Платформу Google Identity ?

Ответы [ 2 ]

0 голосов
/ 21 марта 2019

Этот ответ только .NET Framework.

Он уже должен быть решен проектом Katana в настоящее время, так что ответ здесь :

Просто обновите пакет Microsoft.Owin.Security.Google до версии 4.0.1.

Подробнее о можно прочитать здесь .

Или посмотреть обходной путь для .NET Framework 4+ здесь .

0 голосов
/ 25 декабря 2018

На этой странице aspnet\docs Github есть открытый вопрос *1003*.

Похоже, что это серьезное изменение, о чем свидетельствуют следующие проблемы на Github:

По-видимому, провайдер Google OAuth выполняет вызов https://www.googleapis.com/plus/v1/people/me, который используется для получения информации профиля.Как указано ThoughtHopper , "[t] текущий код работает до тех пор, пока не попытается получить информацию о пользователе."

A временный обходной путь был опубликован Tratcher, который, как утверждается, работает для ASP.NET 2.0 и более поздних версий:

.AddGoogle(o =>
        {
            o.ClientId = Configuration["google:clientid"];
            o.ClientSecret = Configuration["google:clientsecret"];
            o.UserInformationEndpoint = "https://openidconnect.googleapis.com/v1/userinfo";
            o.ClaimActions.Clear();
            o.ClaimActions.MapJsonKey(ClaimTypes.NameIdentifier, "sub");
            o.ClaimActions.MapJsonKey(ClaimTypes.Name, "name");
            o.ClaimActions.MapJsonKey(ClaimTypes.GivenName, "given_Name");
            o.ClaimActions.MapJsonKey(ClaimTypes.Surname, "family_Name");
            o.ClaimActions.MapJsonKey("urn:google:profile", "profile");
            o.ClaimActions.MapJsonKey(ClaimTypes.Email, "email");
            o.ClaimActions.MapJsonKey("urn:google:image", "picture");
        })

Это изменяет конечную точку, из которой извлекается информация (больше не полагаясь на Google+), и изменяет способ отображения информации о пользователе.с тех пор как это изменилось.

Из-за того количества внимания, которое получают эти проблемы, я ожидаю, что Microsoft выпустит обновление в ближайшем будущем.До этого момента это исправление должно работать с отключенным Google+ API.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...