Сетевая аутентификация Skype для бизнеса - несколько запросов токенов - PullRequest
0 голосов
/ 09 апреля 2019

Здравствуйте, эксперты Microsoft / Azure / Skype,

Мне поручено получить доступ к данным присутствия из учетных записей Skype для бизнеса Online из моего приложения macOS (нативное). После многих неприятностей из-за «удивительной» документации от Microsoft мне удалось получить данные о присутствии, благодаря экспертам SO ( Ошибка аутентификации Skype для бизнеса Online - 403 Отказано в разрешении )

Я следил за этой документацией https://docs.microsoft.com/en-us/skype-sdk/ucwa/authenticationusingazuread

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

Теперь я не уверен, является ли это проблемой или это поведение по умолчанию, и мы должны с этим смириться.

Хотя все работает нормально, запрос пользователей на вход в систему 3 раза - ужасный опыт для пользователя.

Дополнительная информация

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

  • В первый раз мы получаем токен, когда запрашиваем токен доступа, используя неявный поток предоставления, когда выполняем запрос GET на https://login.microsoftonline.com/oauth2/authorize

  • Во второй раз, когда мы получаем токен, когда получаем URL-адрес «Приложения». Если пользователь размещен в другом месте, пользовательский ресурс, на который был нацелен предыдущий запрос автообнаружения, отправит ссылку перенаправления с указанием местоположения новый сервис автообнаружения. И это происходит, мы повторяем процесс запрос-ответ, чтобы снова подтвердить подлинность пользователя и получить новый токен OAuth.

  • Наконец, перед тем, как я сделаю URL-адрес POST для приложений, мне придется запросить новый OAuth-токен с новым полным доменным именем, используя уже предоставленные учетные данные, в противном случае POST не будет выполнен.


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

Как это можно упростить? Почему мы не можем просто использовать один запрос, получить токен один раз и покончить с этим?

Этот процесс гарантирует, что пользователям придется проходить аутентификацию 3 раза, что не очень удобно для пользователя.

Будем благодарны за любые входные данные.

...