У меня есть надстройка Outlook с разрешениями ReadWriteMailbox, которая вызывает Office.context.mailbox.getCallbackTokenAsyn c ({isRest: true}) для получения того, что обычно является допустимым токеном авторизации:
{
"oid": "oid",
"puid": "puid",
"smtp": "xxx",
"upn": "xxx",
"clientappid": "3382ce5c-ed22-4195-aeca-c5b67384706f",
"ver": "Exchange.Callback.V2",
"appid": "00000002-0000-0ff1-ce00-000000000000",
"deploymentid": "https://outlook.office365.com/",
"tid": "tid",
"acr": "1",
"appidacr": "0",
"scp": "Mail.ReadWrite Mail.Send Calendars.ReadWrite Contacts.ReadWrite",
"nbf": 1588259750,
"exp": 1588260650,
"iss": "https://outlook.office365.com/",
"aud": "a_vanity_url",
"happ": "API"
}
В Outlook для iOS теперь я вижу это исключение в нескольких средах:
{
"readyState": 4,
"responseText": "omitted_for_redundancy",
"responseJSON": {
"error": {
"code": "InvalidAudienceForResource",
"message": "The audience claim value is invalid for current resource.
Audience claim is 'a_vanity_url',
request url is 'https://outlook.office365.com/api/v2.0/me/messages/a_message_id'
and resource type is 'Exchange'.",
"innerError": {
"requestId": "requestId",
"date": "2020-04-30T15:15:51"
}
}
},
"status": 401,
"statusText": "Unauthorized"
}
Общая тема, по-видимому, всегда, когда настроен MDM / MAM (обычно Intune), и это происходит на всех управляемых устройствах в клиенте и продолжает отказывать, пока устройство не будет зарегистрировано и его учетные записи Outlook не будут удалены и повторно добавлены.
Есть ли что-то, что я могу сделать по-другому, когда запрашиваю токен авторизации, чтобы предотвратить это провал? Или есть параметр управления устройством, который требуется Outlook для iOS для запуска надстроек?