在Azure中,我创建了两个具有相同参数的应用程序注册,我想将它们用于不同的环境。当我使用第一次注册时,一切正常。但是在切换到另一个之后,我得到了一个错误。
AADSTS65001: The user or administrator has not consented to use the application with ID
当试图获得令牌时:
var result = await app.AcquireTokenOnBehalfOf(new[] { "User.Read" }, userAssertion).ExecuteAsync();
我不知道为什么会发生这个错误,因为我只配置了一个权限,并且它不需要一个管理权限

在客户端,我试图添加一个参数prompt=consent,以显示一个对话框来提供用户的权限,但没有帮助。
你知道为什么这个错误发生在我的情况下吗?
发布于 2021-02-22 12:26:43
给你的一些方法:
导航到Azure Active、->企业应用程序、->同意和权限、->用户同意设置。

导航到Azure Active ->企业应用程序->用户设置。

几个小时前,
在浏览器中进行测试:
https://login.microsoftonline.com/{tenant}/oauth2/v2.0/authorize?
client_id={client-id}
&response_type=code
&redirect_uri=http://localhost
&response_mode=query
&scope=https://graph.microsoft.com/User.Read
&state=12345发布于 2022-09-07 17:06:02
同样的错误AADSTS65001,下面的步骤解决了我使用OAuth令牌到应用程序邮箱的EWS HttpRequest问题:
...
// C#
//获得一个带有委托的令牌
var ewsScopes = new string[] { EWS_OAuthUrl };
var cred = new NetworkCredential(Credentials_EMailAcc, Credentials_EMailPswd);
var authResult = await pca.AcquireTokenByUsernamePassword(new string[] { EWS_OAuthUrl }, cred.UserName, cred.SecurePassword).ExecuteAsync();//使用访问令牌配置ExchangeService
ExServ = new ExchangeService();
ExServ.Url = new Uri(EWS_Url);
ExServ.Credentials = new OAuthCredentials(authResult.AccessToken);https://stackoverflow.com/questions/66314491
复制相似问题