Используя настройку ASP.Net MVC по умолчанию, как мне войти с помощью учетной записи Microsoft?

Почему я постоянно получаю "Приведенное значение для входного параметра" redirect_uri "недействительно."?

Мой сайт размещен в Azure. Я пытаюсь войти через кнопку входа в систему Microsoft. Я действительно не внес много изменений из стандартного шаблона ASP.Net MVC из коробки. Все, что я действительно изменил, это раскомментировать строку app.UseMicrosoftAccountAuthentication и добавить clientId и clientSecret.

У меня неправильно настроен URL-адрес перенаправления?

Сайт: http://mysite.azurewebsites.net

URL-адрес перенаправления: http://mysite.azurewebsites.net/

Я где-то читал, что вам нужно указать URL-адрес переадресации в форме http://www.mysite.azurewebsites.net. Может ли кто-нибудь подтвердить или опровергнуть это? Мне не нужен www в моей текущей настройке.

Я получаю следующее сообщение:

https://login.live.com/err.srf?lc=1033#error=invalid_request&error_description=The предоставленное значение для входного параметра 'redirect_uri' недопустимо. Ожидаемое значение: https://login.live.com/oauth20_desktop.srf 'или URL, который соответствует URI редиректа, зарегистрированным для этого клиентского приложения. & state = SomeLongPossiblyEncryptedString

Это сообщение отображается на странице, возвращенной после попытки входа в систему:

Аккаунт Microsoft

Мы не можем выполнить ваш запрос

У Microsoft есть технические проблемы. Повторите попытку позже.

3/26/2014 Обновление: пока не повезло, вот некоторые снимки экрана моих настроек, если это помогает. Основная информация

enter image description here

Настройки API

enter image description here

Это проблема на стороне Microsoft или я что-то не так?

Ответ 1

Из MVC по умолчанию, что работает для меня (только что протестировано около 5 минут назад) для URL-адреса переадресации,

http://testcrap.azurewebsites.net/ signin-microsoft

Вся документация, которую я нашел, говорит, чтобы использовать

http://testcrap.azurewebsites.net/ login/microsoftaccount

Но это не работает для меня... sigin-microsoft делает

enter image description here

ИЛИ, если это не работает, используйте что-то вроде firebug, чтобы посмотреть, как выглядит запрос к поставщику oauth, а затем все, что перенаправляет внутри этого запроса, - это то, что вам нужно использовать.

enter image description here

Ответ 2

Для веб-приложения вам нужно установить URL-адрес перенаправления в Центр разработки Live Connect.

В настройках API- > URL-адресов переадресации необходимо установить:

http://www.yourdomain.com/signin-microsoft

Надеюсь, что это полезно:)

Ответ 3

Вам необходимо указать URL-адрес перенаправления в Центр разработки Live Connect. Я прикрепил скриншот. Это часть проверки приложения для предотвращения вредоносных приложений.

Redirect URL - Microsoft Account

Ответ 4

Кажется, Microsoft снова изменит URL. Это то, что работает для меня

.auth/Войти/microsoftaccount/обратный вызов

Мой URL-адрес перенаправления https://yyyyyyyy.azurewebsites.net/.auth/login/microsoftaccount/callback

Чтобы получить этот URL-адрес, используйте Fiddler или любой инструмент отладки http и найдите запрос на login.live.com. Redirect_url находится в строке запроса.

https://login.live.com/oauth20_authorize.srf?client_id=00000000551716B9&redirect_uri=https%3A%2F%2Fyyyyyyyyyy.azurewebsites.net%2F.auth%2Flogin%2Fmicrosoftaccount%2Fcallback&response_type=code&scope=wl.basic+wl.offline_access+wl.signin+wl.birthday+wl.calendars+wl.calendars_update+wl.contacts_birthday+wl.contacts_create+wl.contacts_calendars+wl.contacts_photos+wl.contacts_skydrive+wl.emails+wl.events_create&state=nonce%3Dfe7e6b678b8844f48f079cceadf1f426_20151206145117%26redir%3D%2F

Ответ 5

Поскольку мне нужно еще 3 точки репутации, чтобы написать комментарий к вашему сообщению, я должен спросить его здесь. Извините. Получаете ли вы эту ошибку, проверяя ее на реальном домене или проверяя ее с вашего локального хоста?

Если второй случай, вам нужно настроить запись DNS для фиктивного имени хоста в вашем локальном файле хоста, который указывает на 127.0.0.1, и использовать это фиктивное имя при регистрации в режиме реального времени. Кроме того, ему нужен IIS, а не IIS Express.

Не уверен, что это чистый путь, и если он завершен, но он самый дальний, который я получил при опробовании нового поставщика ASP.NET Identity. К сожалению, в официальной документации есть только пример, показывающий, как использовать его с Google... Я тоже был бы признателен за чистый ответ на этот вопрос.

Ответ 6

Перенаправленные URI являются "чувствительными к SSL", и вы, вероятно, всегда хотите версию SSL.