我在Microsoft 0365租赁中有一个Microsoft帐户,该帐户已配置了对我的客户端O365租赁的委派管理员访问权限。
我正在创建一个应用程序来管理所有客户的许可证。为此,我使用以下permissions
在租户中创建了一个应用程序然后,我使用委派的管理员帐户在客户端凭据上遵循管理员同意流程进行登录。
https://login.microsoftonline.com/<tenant id>/adminconsent?client_id=<my clientId>&state=1234123asd123&redirect_uri=https://localhost:5001/signin-microsoft
这是委托管理员可以访问的我的一位客户的ID,一旦我同意,我将被重定向到https://localhost:5001/signin-microsoft?admin_consent=True&tenant=<tenant id>&state=12345
。
由于此应用程序在后台运行,因此我向授权端点https://login.microsoftonline.com/<tenant id>/oauth2/v2.0/token
发出了发布请求,其中我的客户租户ID在url中而不是common。
request
我成功获得了access_token
,但是当我请求查看我的客户组织信息时,却遇到了这个错误
{
"error": {
"code": "Authorization_IdentityNotFound",
"message": "The identity of the calling application could not be established.",
"innerError": {
"request-id": "b312458e-3016-47d1-92f9-54e5d572e0f7",
"date": "2019-09-19T05:57:33"
}
}
}
作为旁注,香港专业教育学院为授权授予流程执行了相同的过程,并且能够获得访问权限,除非我请求用户重新登录,否则我将无法刷新相同权限的access_token。我的应用程序旨在在后台运行,因此为什么我希望使用客户端凭据流来初始同意权限,并在后台过期后获得新令牌。