InvalidAudienceForResource 异常 Exchange.Callback.iOS 的 Outlook 中的 V2 令牌
InvalidAudienceForResource exception with Exchange.Callback.V2 token in Outlook for iOS
我有一个具有 ReadWriteMailbox 权限的 Outlook 加载项调用 Office.context.mailbox.getCallbackTokenAsync({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"
}
在 iOS 的 Outlook 中,我现在在少数环境中看到此异常:
{
"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 帐户被重新注册删除并重新添加。
当我请求授权令牌以防止此失败时,我可以做些什么不同的事情吗?或者 iOS 的 Outlook 是否需要 运行 加载项的设备管理设置?
感谢您的报告,看来这不是插件问题。您能否通过转至 Link,导航至 "Troubleshooting + Support" 提出 Intune 支持案例。相应的团队将解决该问题。
此处的解决方法是使用 JWT 的 audience
声明中返回的虚名域作为 API URL 基础,而不是 Office.context.mailbox.restUrl
返回的值。
我有一个具有 ReadWriteMailbox 权限的 Outlook 加载项调用 Office.context.mailbox.getCallbackTokenAsync({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"
}
在 iOS 的 Outlook 中,我现在在少数环境中看到此异常:
{
"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 帐户被重新注册删除并重新添加。
当我请求授权令牌以防止此失败时,我可以做些什么不同的事情吗?或者 iOS 的 Outlook 是否需要 运行 加载项的设备管理设置?
感谢您的报告,看来这不是插件问题。您能否通过转至 Link,导航至 "Troubleshooting + Support" 提出 Intune 支持案例。相应的团队将解决该问题。
此处的解决方法是使用 JWT 的 audience
声明中返回的虚名域作为 API URL 基础,而不是 Office.context.mailbox.restUrl
返回的值。