Здравствуйте, эксперты 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 раза, что не очень удобно для пользователя.
Будем благодарны за любые входные данные.