Если вы хотите прервать погоню, вопрос в том, что является лучшим/официальным способом использования DotNetOpenAuth с Google в asp.net mvc 5?DotNetOpenAuth 4.3 и Google - OpenID 2.0 + OAuth 1.0 устарели
Примерно год назад я использовал OAuth (DotNetOpenAuth oAuth и OpenID) в значительной степени, поскольку он вышел из коробки для asp.net MVC 4 (как в примере проекта). С тех пор я успешно использовал его для google, facebook, yahoo и microsoft. Однако недавно у меня было intermittent problems с подписью пользователей в Google. Я попытался перейти на MVC 5 и DotNetOpenAuth 4.3, но я получил то же самое.
Когда я посмотрел на документы Google я нашел это:
Важно: Google имеет осуждается поддержку OAuth 1.0. Если вы используете , используя OpenID 2.0 + OAuth 1.0, мы рекомендуем перейти на Google+ Войти. Вход в Google+ обеспечивает механизм аутентификации OAuth 2.0 с богатыми социальными функциями и доступом к дополнительным функциям настольных и мобильных функций Google . Он поддерживает всех пользователей Google и прозрачную миграцию . Подробнее см. В разделе Миграция Google .
я мог бы очень хорошо быть ошибочно, по мне казалось, что вне коробки asp.net MVC 4 DotNetOpenAuth использует OpenID 2.0 (я использую minimumRequiredOpenIdVersion = "V20") + OAuth 1.0. В источнике DotNetOpenAuth я вижу, что в разделе «продукт» есть библиотека OAuth 2.0, но я не уверен, как ее использовать. Кроме того, я немного нервничаю в отношении Auth 2.0, поскольку то, что я прочитал, не очень дополняет друг друга, и кажется, что легче стрелять в ногу (может быть необоснованно, но, похоже, это повторяющаяся тема).
Для Google+ я нашел these instructions, которые кажутся довольно простыми, но это почти год назад, поэтому мне интересно, если это все равно лучший способ пойти. Я также нашел this git repository, внедряя Google oauth2. Тем не менее, я хотел бы знать, насколько это актуально, поскольку все это было с того времени.
Итак, вопрос в том, что является лучшим/официальным способом использования DotNetOpenAuth с Google в asp.net mvc5? Надеюсь, я не пропустил ничего очевидного, и в этом случае просто указатель на некоторые ссылки будет в порядке.
Update Я нашел question и это question, которые связаны между собой. Я предполагаю, что я поеду с google auth2 из git, если мне не будет сказано иначе.
Разрешение
я сделал следующее: -
- следуют шаги в ссылке, предоставленной принятым ответом. Это this link.
Очень важно, чтобы с помощью SSL после входа в систему и не упасть обратно в HTTP, ваш Логин печенье так же секрет, как имя пользователя и пароль ... перенаправляет обратно в HTTP после того как вы вошли в систему не будет делать текущий запрос или будущие запросы намного быстрее.
Получили последнюю DotNetOpenAuth.GoogleOAuth2 на NuGet.
Я рассмотрел рекомендацию от this msdn blog (тем же автором) о том, как лучше всего обеспечить безопасность сайта. В основном, рекомендация добавить следующее, которое заставит все страницы на HTTPS:
filters.Add(new System.Web.Mvc.RequireHttpsAttribute());
В конечном счете это означает, что весь сайт HTTPS. После внесения этих изменений сайт работает нормально.
Привет. Можно ли использовать OAuth 2 для Google Authentication из MVC 4? Или я должен сначала обновить свой проект до MVC 5? Выполняли ли вы какие-либо рекомендации по выполнению такого обновления? Благодаря! – Jaime
@Jaime - для этого я обновился до MVC 5, оставаясь на Visual Studio 2012. Я не могу вспомнить точные шаги, но я уверен, что следую инструкциям на этих сайтах: http: //www.asp. net/mvc/overview/releases/how-to-upgrade-a-aspnet-mvc-4-and-web-api-project-to-aspnet-mvc-5-and-web-api-2 http: // stackoverflow .com/вопросы/19102831/how-to-install-asp-net-mvc-5-in-visual-studio-2012 http://blogs.msdn.com/b/webdev/archive/2013/11/18/ объявляя-релиз-оф-Asp-нетто-и-веб-инструменты-2013-1-для-визуального-студии-2012.aspx. – acarlon
Спасибо @acarlon, я на VS2013. Я перенесла приложение, но без успеха. При попытке отладки я получаю ошибку HTTP 500. Я пытаюсь выяснить, что он отсутствует или неправильно настроен. – Jaime