Как перенести open id 2.0 на Open Id connect в asp.net 4.0

Я реализую аутентификацию 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, но не было обработано в пользовательском коде.

Пожалуйста, предложите лучший ответ для решения этих проблем.


person Ravi    schedule 20.05.2015    source источник