尝试使用只读帐户(即读卡器权限)创建令牌时Azure ARM API身份验证错误

尝试使用只读帐户(即读卡器权限)创建令牌时Azure ARM API身份验证错误,azure,azure-active-directory,azure-resource-manager,Azure,Azure Active Directory,Azure Resource Manager,您好,我已经使用Azure ARM Rest API编写了一个java应用程序,其中首先使用TenantID、ClientID、用户名和密码创建令牌,然后获取该帐户的所有订阅,我们尝试监视相同的情况。问题是,当我尝试使用所有者帐户详细信息时,它工作正常,但使用读者帐户时,它会说 java.util.concurrent.ExecutionException:com.microsoft.aad.adal4j.AuthenticationException:{“错误描述”:“AADSTS65001:

您好,我已经使用Azure ARM Rest API编写了一个java应用程序,其中首先使用TenantID、ClientID、用户名和密码创建令牌,然后获取该帐户的所有订阅,我们尝试监视相同的情况。问题是,当我尝试使用所有者帐户详细信息时,它工作正常,但使用读者帐户时,它会说

java.util.concurrent.ExecutionException:com.microsoft.aad.adal4j.AuthenticationException:{“错误描述”:“AADSTS65001:用户或管理员尚未同意使用ID为‘979aca5c-0be5-4727-aa08-07b3f59deb07’的应用程序。请为此用户和资源发送交互式授权请求。\r\n访问ID:92315ce1-58df-4024-a571-d255d9254900\r\n相关ID:35f1870a-c994-47c0-a53f-b709272a9cac\r\n\r\n坦帕:2017-06-28 10:12:50Z”,“错误”:”无效的授权“}


生成令牌时。

似乎您正在使用资源所有者授权流(通过用户名/密码)若要获取令牌,使用此流,如果直接传递用户名和密码,则用户没有任何机会提供同意。请检查资源所有者流的限制。如果您是租户管理员,您可以通过管理员同意来同意所有用户。若要进行管理员同意,请导航到Azure门户并转到
app注册
。在你的应用程序刀片中,点击
授予权限

我发现了问题所在,如果我们有只读帐户,那么我们需要使用该帐户创建本机应用程序并授予权限。一旦我这样做并使用只读凭据和新创建的clientid并运行我的代码,它就开始工作

余:谢谢你的回复,我想我可以解决我在下面提到的问题。