Я занимаюсь разработкой приложения Unity для планшетов, в котором информация о календаре наших сотрудников собирается из Microsoft Graph и отображается на экране. Но у меня проблемы с входом пользователей в MS Graph без перенаправления на веб-браузер.
В настоящее время я подключаюсь к конечной точке сервера нашего приложения через https://login.microsoftonline.com/tenant_id_here/oauth2/token, но не могу найти рабочий способ входа для пользователя, который необходим для запроса информации календаря.
Пароль grant_type из потока 2 в этом блоге должен делать именно это: http://codematters.tech/getting-access-token-for-microsoft-graph-using-oauth-rest-api/ Однако при использовании пароля grant_type всегда будет возвращаться код ошибки, даже если имя пользователя и пароль верны:
AADSTS70002: Ошибка при проверке учетных данных. AADSTS50126: Неверно
имя пользователя или пароль
После поиска ответов выясняется, что пароль grant_type выведен из употребления:
https://github.com/microsoftgraph/microsoft-graph-docs/issues/2657#issuecomment-390036447
Если это так, как я могу получить токен для пользователя, используя имя пользователя и пароль?
Теперь я действительно нашел MS Graph SDK (https://github.com/microsoftgraph/msgraph-sdk-dotnet), который может решить эту проблему, но, к сожалению, он работает в более поздней версии .NET, которую Unity не поддерживает.
Для справки, приложение, которое я пытаюсь создать, будет иметь простой рабочий процесс, подобный этому:
Пользователь входит в приложение и получает токен.> Приложение запрашивает у Office365 информацию о календаре пользователя с помощью токена.> Приложение отображает информацию о календаре и обновляет токен.
У кого-нибудь есть идеи, как это сделать?