Если вы хотите прервать погоню, возникает вопрос: какой лучший/официальный способ использовать DotNetOpenAuth с Google в asp.net mvc 5?
Примерно год назад я использовал OAuth (DotNetOpenAuth oAuth и OpenID) в значительной степени, поскольку он вышел из коробки для asp.net MVC 4 (как в примере проекта). С тех пор я успешно использовал его для google, facebook, yahoo и microsoft. Тем не менее, в последнее время у меня были проблемы с прерывистыми проблемами, когда пользователи вошли в 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+ я нашел эти инструкции, которые кажутся довольно простыми, но это почти год назад, поэтому мне интересно, лучший способ пойти. Я также нашел этот git репозиторий, реализующий Google oauth2. Тем не менее, я хотел бы знать, насколько это актуально, поскольку все это было с того времени.
Итак, вопрос в том, что является лучшим/официальным способом использования DotNetOpenAuth с Google в asp.net mvc5? Надеюсь, я не пропустил ничего очевидного, и в этом случае просто указатель на некоторые ссылки будет в порядке.
Обновление Я нашел этот question и этот вопрос, который связан. Я предполагаю, что пойдет с google auth2 из git, если не будет сказано иначе.
Разрешение
Я сделал следующее: -
- Следуйте инструкциям в ссылке, предоставленной принятым ответом. Это эта ссылка.
Важно продолжать использовать SSL после входа в систему и не возвращаться к HTTP, ваш файл cookie для входа столь же секрет, как ваше имя пользователя и пароль... перенаправляя обратно к HTTP после того, как вы вошли в систему, не будут быстрее выполнять текущий запрос или будущие запросы.
-
Получил последний DotNetOpenAuth.GoogleOAuth2 на Nuget.
-
Я рассмотрел рекомендацию этого блога msdn (тем же автором) о том, как лучше всего защитить сайт. В принципе, рекомендуется добавить следующее, которое заставит все страницы HTTPS:
filters.Add( new System.Web.Mvc.RequireHttpsAttribute() );
В конечном итоге это означает, что весь сайт HTTPS. После внесения этих изменений сайт работает нормально.