Я создаю пользовательское мобильное приложение, которое имеет клиент, пользовательский бэкэнд-сервер (я создаю) и взаимодействует с множеством других API. Один из этих API-интерфейсов - это заказы Microsoft.
Проблема, с которой я сталкиваюсь, заключается в том, что мне нужно пройти аутентификацию через сервер к серверу с общим секретным ключом клиента. Я знаю о многочисленных документах от MS, но пока не нашел решения. Мне интересно, если сервер к серверу возможно даже с бронированиями.
Я могу получить сервер access_token на сервер с этими разрешениями. (Я уже предоставил «все разрешения» для этого приложения в Azure AD).
"roles": [
"Calls.JoinGroupCall.All",
"OnlineMeetings.Read.All",
"OnlineMeetings.ReadWrite.All",
"Application.ReadWrite.OwnedBy",
"Calendars.Read",
"People.Read.All",
"Application.ReadWrite.All",
"Calls.InitiateGroupCall.All",
"Directory.ReadWrite.All",
"Calls.JoinGroupCallAsGuest.All",
"Sites.Read.All",
"Sites.ReadWrite.All",
"Sites.Manage.All",
"Files.ReadWrite.All",
"Directory.Read.All",
"User.Read.All",
"Calendars.ReadWrite",
"Mail.Send",
"ProgramControl.Read.All",
"ProgramControl.ReadWrite.All",
"Calls.Initiate.All"
]
Это разрешения от декодированного токена. Когда я иду звонить в API бронирования, я получаю 401.
Однако я могу использовать этот токен для доступа к различным конечным точкам графа без проблем.
Отмечу, что я могу совершать успешные звонки в API бронирования через Graph Explorer с моей учетной записью, не связанной с этим «Приложением в Azure AD».
Требуется ли для этого ресурса в Azure AD лицензия на бронирование?
Это вообще возможно S2S?
Есть ли другие способы обойти это без учетных данных пользователя?
Спасибо.