OAuth2 и DotNetOpenAuth - реализация пользовательского клиента Google
У меня возникла проблема с реализацией пользовательского OAuth2Client для Google с использованием DotNetOpenAuth и MVC4.I '
добрался до точки, где я могу успешно сделать запрос авторизации к конечной точке Googlehttps://accounts.google.com/o/oauth2/auth
и Google спрашивает, разрешит ли пользователь моему приложению доступ к своей учетной записи. Пока все хорошо. Когда пользователь нажимаетХОРОШО'Google затем вызывает мой URL обратного вызова, как и ожидалось.
Проблема заключается в том, что я вызываю метод VerifyAuthentication для класса OAuthWebSecurity (Microsoft.Web.WebPages.OAuth).
var authenticationResult = OAuthWebSecurity.VerifyAuthentication(Url.Action("ExternalLoginCallback", new { ReturnUrl = returnUrl }));
Это's всегда возвращает AuthenticationResult сIsSuccessful = false
и я'Provider = ""
мы изучили код для этого, и класс OAuthWebSecurity пытается получить имя поставщика из
Request.QueryString["__provider__"]
но Google не отправляет эту информацию обратно в строку запроса. Другой провайдер, которого я реализовал (LinkedIn), отправляет имя провайдера обратно, и все это прекрасно работает.
Я не уверен, что я могу сделать с этого момента, кроме как отказаться от классов Microsoft.Web.WebPages.OAuth и просто использовать DotNetOpenAuth без них, но я надеялся, что у кого-то может быть другое решение, которое я могу попробовать ...
я много искал, но могуКажется, я не нашел ничего, что могло бы помочь ...Мне действительно трудно даже найти примеры людей, делающих то же самое, что меня очень удивило.
Любая помощь высоко ценится! Я