OAuth v2 Проблемы с подключением к учетной записи Microsoft

Я пытался реализовать OAuth v2 для учетных записей Microsoft для моего веб-сайта. В настоящее время он находится в стадии разработки и поэтому тестирую на localhost. Веб-сайт является приложением ASP.NET Core MVC 5.

Я следовал этому руководству, чтобы реализовать учетные записи OAuth для Twitter, Google и Facebook. Я обнаружил, что это довольно просто, с несколькими небольшими проблемами, которые мне удалось решить с помощью простого поиска в Google.

Однако я потратил несколько дней, пытаясь понять, что происходит, когда я пытаюсь использовать проверку подлинности учетной записи Microsoft на моем сайте.

Я посмотрел здесь видео о регистрации приложения на портале регистрации приложений Microsoft. Примерно на 6 минуте видео короткая демонстрация показывает, как настроить приложение. Вы можете увидеть детали моего приложения на следующем снимке экрана:

В видеоролике продолжительностью около 7,5 минут есть небольшой раздел, в котором объясняется, как протестировать приложение, создав строку URL-адреса.

При отправке строки запроса в браузер страница перенаправляется, как и ожидалось, на страницу моего приложения, как вы можете видеть здесь:

Страница входа в учетную запись Microsoft

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

[ Перенаправлено обратно на сайт [5

Следующим этапом является проверка работоспособности с моего сайта. Здесь у меня всегда есть проблемы. Чтобы активировать функцию OAuth для входа в учетную запись Microsoft, необходимо просто откомментировать несколько строк кода в файле Startup.Auth.cs в папке App_Start моих веб-сайтов и передать значения ClientKey и ClientSecret в приложениях, как это видно из следующего кода. фрагмент кода:

app.UseMicrosoftAccountAuthentication(
            clientId: System.Configuration.ConfigurationManager.AppSettings["MicrosoftOAuthClientID"],
            clientSecret: System.Configuration.ConfigurationManager.AppSettings["MicrosoftOAuthClientSecret"]);

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

[ Кнопка входа в учетную запись Microdoft [6

Когда я нажимаю кнопку Microsoft, я получаю следующую страницу ошибки:

Страница ошибок

И возвращенная строка запроса содержит следующее:

https://login.live.com/err.srf?lc=2057#error=unauthorized_client&error_description=The+client+does+not+exist.+If+you+are+the+application+developer%2c+configure+a+new+application+through+the+application+management+site+at+https://apps.dev.microsoft.com/.&state=JMxMRuKaOiYWCQw_Uqkhv3gLQn3ULlkG2miM4ymcHhTK5niXVQl5n4L0a6VoWeEKmFM7T1ciU2oQAh26_Y0i2DMjdt6BOAtpjNeMaSpBq4wbCjva9lOuctOUIWwoFdTEGvxJ4M904lUsoudd9e9cYi6eiH3JF81HB5ouQSus2ddE1sVUQLw-YB1GjUL79y2muFaBFIOIOk75oCV2IxX4cFO2rJU04K9Se6gxu698WpzR8taUB2c6tK9u0dBisckhavf0IvKB9dWQq-IVwQgvaA

Кто-нибудь знает, почему или что происходит????

Теперь я прочитал в нескольких из моих многочисленных поисков, пытаясь понять, что происходит, когда я пытаюсь протестировать приложение с моего сайта, а не URL-адрес прямо в браузере, который я должен иметь

/ Microsoft-зарегистрировались

добавлен к моему URL перенаправления в конфигурации порталов приложений. Я проверил мой URL-адрес перенаправления таким образом, и это не работает. Я получаю сообщение HTTP ERROR 500, потому что страница signin-microsoft не существует. Так что это не моя проблема.

Пожалуйста, помогите, если у кого-то были такие же проблемы и они были решены

РЕДАКТИРОВАТЬ: я должен был упомянуть, что я первоначально пытался это с помощью Local IISExpress, но после прочтения некоторых сообщений, говорящих, что это можно сделать только на IIS, поэтому я опубликовал свой сайт локально для IIS.

0 ответов

Другие вопросы по тегам