Я реализую аутентификацию Google Open id с помощью этого кода:
string discoveryUri = "https://www.google.com/accounts/o8/id";
var b = new UriBuilder(Request.Url) { Query = "" };
var req = openid.CreateRequest(discoveryUri, b.Uri, b.Uri);
var fetchRequest = new FetchRequest();
fetchRequest.Attributes.AddRequired(WellKnownAttributes.Contact.Email);
fetchRequest.Attributes.AddRequired(WellKnownAttributes.Name.First);
fetchRequest.Attributes.AddRequired(WellKnownAttributes.Name.Last);
fetchRequest.Attributes.AddRequired(WellKnownAttributes.Person.Gender);
fetchRequest.Attributes.AddRequired(WellKnownAttributes.Contact.Phone.Mobile);
fetchRequest.Attributes.AddRequired(WellKnownAttributes.BirthDate.WholeBirthDate);
req.AddExtension(fetchRequest);
req.RedirectToProvider();
Мы пробовали это решение: Google OpenId Миграция Connect: получение openid_id в приложении ASP.NET
но получил это исключение:
Исключение типа «System.ArgumentNullException» возникло в Microsoft.Owin.Security.Google.dll, но не было обработано в пользовательском коде.
Пожалуйста, предложите лучший ответ для решения этих проблем.