目标:具有管理员的一次同意能够读取所有的公司邮箱,使用图形API的一些功能,以及某些Outlook REST API的(网络挂接更先进)如何获得管理员同意适用于Graph API端点和Outlook REST端点?
读微软的文档,似乎最好的流程是“OAuth 2.0客户端凭据授予”。
- 我的应用程序是通过apps.microsoft.com创建的,范围被定义为访问所有邮箱。
- 管理员连接到
https://login.microsoftonline.com/common/adminconsent?client_id=XXX&redirect_uri=XXX
。 然后我检索令牌
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/token
与grant_type=client_credentials&client_id=XX&client_secret=XX&scope=https://graph.microsoft.com/.default
返回令牌。一切工作完美与Microsoft Graph。
但是,当我取回信物,改变范围https://outlook.office.com/.default
,我得到它拒绝了我的查询,有401和“有实力1而不是2太弱令牌”令牌。
我们应该在哪里更改范围?或者我应该有另一个授权流程?
感谢
让我来测试一下。事情已经在应用门户改变,我要确保我告诉你当前信息:) –
一些讲座结束后,我发现,该协议是Outlook REST API的不同:它需要一个X509证书来创建一个JWT令牌。 ,似乎这是确定(没有更多的“太弱令牌”,而是一个“擅自接取”现在出现的问题:我有权授予应用程序授权的Outlook API我不能这样做,从apps.dev.microsoft.com门户。 (仅图表范围);以及自所述应用程序不具有“应用URI ID”一次通过apps.dev.microsoft.com创建(通过手动清单更新不是我不能更新从我的客户端manage.windowsazure门户授权。可以接受的),我变得疯狂 – Sybic2001