我在 prem 交换服务器上有一个邮箱(处于混合模式)abc@onprem.com
,我正在尝试通过图形 api(/messages)访问它。如果我在图形资源管理器中执行此操作,这将非常有效,但是当我通过实现执行此操作时会失败。
Azure 应用注册门户中提供了所需的应用程序权限。实施使用grant_type 作为带有证书的client_credentials,这非常适合云用户。
API的响应
{ 'error': {
'innerError': {
'date': '2019-02-28T14:17:45',
'request-id': '6a85f8c3-4e13-4cf0-84b2-ddc934241afd'
},
'message': '',
'code': 'UnknownError'
}}
IIS 日志
- 呼叫来自图形资源管理器
2019-02-28 15:02:31 172.31.10.98GET /api/V2.0/Users('abc@onprem.com')/Messages/$count &CorrelationID=;&cafeReqId=bc8e8aef-de46-4c72-bcf4-b4f567bc45dd ; 443 S-1-5-21-1392771109-4043059535-3934338706-1147 20.190.145.177Mozilla/5.0+(Macintosh;+Intel+Mac+OS+X+10_14_3)+AppleWebKit/537.36+(KHTML,+like+Gecko) +Chrome/71.0.3578.80+Safari/537.36 - 200 0 0 287
- 从已实施的应用程序调用
2019-02-28 15:00:05 172.31.10.98GET /api/V2.0/Users('abc@onprem.com')/Messages/$count &CorrelationID=;&cafeReqId=c504b658-b9df-43b5-9dbb-8e83050c3d2f ; 443 - 20.190.128.103- - 401 0 0 102
- 这种身份验证失败的原因是什么,可能是因为该令牌是由针对 onprem 进行身份验证的 azure AD 提供的?
更新
添加了更多的日志记录头,发现下面是错误。
2019-03-04 04:05:13 172.31.10.98 GET /api/V2.0/Users('abc@onprem.com')/Messages &CorrelationID=;&cafeReqId=2823c302-3c84-4847-b586-accced4b6dd5; 443 - 20.190.145.177 PostmanRuntime/7.6.0 - 401 0 0 332 Bearer+eyJ0 blah blah.....blah blah.....hSd mail.onprem.com - - - Bearer+client_id="00000002-0000- 0ff1-ce00-000000000000",+token_types="app_asserted_user_v1+service_asserted_app_v1",+authorization_uri="https://login.windows.net/common/oauth2/authorize",+error="invalid_token" 2000001;reason="This+ token+profile+'V1S2SAppOnly'+is+not+applicable+for+the+current+protocol.";error_category="invalid_token"
我们在交换服务器上使用自签名证书,这会导致这个问题吗?如果想知道图形资源管理器中的一切是如何工作的。