OAuth v2 Проблемы с подключением к учетной записи Microsoft
Я пытался реализовать OAuth v2 для учетных записей Microsoft для моего веб-сайта. В настоящее время он находится в стадии разработки и поэтому тестирую на localhost. Веб-сайт является приложением ASP.NET Core MVC 5.
Я следовал этому руководству, чтобы реализовать учетные записи OAuth для Twitter, Google и Facebook. Я обнаружил, что это довольно просто, с несколькими небольшими проблемами, которые мне удалось решить с помощью простого поиска в Google.
Однако я потратил несколько дней, пытаясь понять, что происходит, когда я пытаюсь использовать проверку подлинности учетной записи Microsoft на моем сайте.
Я посмотрел здесь видео о регистрации приложения на портале регистрации приложений Microsoft. Примерно на 6 минуте видео короткая демонстрация показывает, как настроить приложение. Вы можете увидеть детали моего приложения на следующем снимке экрана:
В видеоролике продолжительностью около 7,5 минут есть небольшой раздел, в котором объясняется, как протестировать приложение, создав строку URL-адреса.
При отправке строки запроса в браузер страница перенаправляется, как и ожидалось, на страницу моего приложения, как вы можете видеть здесь:
В этом случае я был полностью готов войти в свою учетную запись Microsoft Outlook. Если я не вошел в систему, мне будет предложено войти в учетную запись Microsoft. При входе в систему, в этом случае выбор уже зарегистрированной учетной записи Outlook приводит к тому, что страница перенаправляется обратно на мой сайт, как показано на следующем снимке экрана, но поскольку сайт не отправил запрос, он не ожидает токен, отправленный для входа в систему, поэтому на самом деле ничего не происходит. Это ожидаемое поведение, поскольку в данный момент я только проверял, что конечная точка приложений работает должным образом.
[
Следующим этапом является проверка работоспособности с моего сайта. Здесь у меня всегда есть проблемы. Чтобы активировать функцию OAuth для входа в учетную запись Microsoft, необходимо просто откомментировать несколько строк кода в файле Startup.Auth.cs в папке App_Start моих веб-сайтов и передать значения ClientKey и ClientSecret в приложениях, как это видно из следующего кода. фрагмент кода:
app.UseMicrosoftAccountAuthentication(
clientId: System.Configuration.ConfigurationManager.AppSettings["MicrosoftOAuthClientID"],
clientSecret: System.Configuration.ConfigurationManager.AppSettings["MicrosoftOAuthClientSecret"]);
Этот код в основном добавляет маленькую кнопку на страницу входа, которая позволяет вам выбрать имя входа Microsoft, как можно увидеть здесь:
[
Когда я нажимаю кнопку Microsoft, я получаю следующую страницу ошибки:
И возвращенная строка запроса содержит следующее:
Кто-нибудь знает, почему или что происходит????
Теперь я прочитал в нескольких из моих многочисленных поисков, пытаясь понять, что происходит, когда я пытаюсь протестировать приложение с моего сайта, а не URL-адрес прямо в браузере, который я должен иметь
/ Microsoft-зарегистрировались
добавлен к моему URL перенаправления в конфигурации порталов приложений. Я проверил мой URL-адрес перенаправления таким образом, и это не работает. Я получаю сообщение HTTP ERROR 500, потому что страница signin-microsoft не существует. Так что это не моя проблема.
Пожалуйста, помогите, если у кого-то были такие же проблемы и они были решены
РЕДАКТИРОВАТЬ: я должен был упомянуть, что я первоначально пытался это с помощью Local IISExpress, но после прочтения некоторых сообщений, говорящих, что это можно сделать только на IIS, поэтому я опубликовал свой сайт локально для IIS.