如何授予客户端应用程序对 Microsoft Azure 中请求范围的访问权限
How to grant the client application access to the requested scope in microsoft azure
我遇到了这个错误
com.microsoft.aad.msal4j.MsalInteractionRequiredException:AADSTS70000:请求被拒绝,因为请求的一个或多个范围未经授权或已过期。用户必须先登录并授予客户端应用程序访问请求范围的权限。
跟踪 ID:add5eedb-86d5-41bc-bad3-129298e3ca00
关联 ID:1d2ab508-8ec6-49d7-abaa-d1b8feaedda8
I register app in Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox) azure account
Api权限:
委派:
Calendars.Read
Calendars.Read写入
offline_access
openid
个人资料
User.Read
User.Read.全部
电子邮件
Mail.Read
申请:
- Calendars.Read
- Calendars.Read写入
我在 Azure 门户中提供了所需的权限和范围(公开 Api),但我仍然收到此错误。我试图解决这个错误超过几天我不明白我做错了什么?
用户登录时没有询问日历的权限。
如何解决这个错误?
提前致谢。
已解决
I have solved this problem by adding Calendars.ReadWrite
scope in AuthorizationRequestUrlParameters
我通过在 AuthorizationRequestUrlParameters
中添加 Calendars.ReadWrite 范围解决了这个问题
进入下面的字符串 updatedScopes
我已经传递了 null,所以它被认为是微软的默认范围,而不是询问日历权限。
String updatedScopes = scope == null ? "Calendars.ReadWrite" : scope;
PublicClientApplication pca = PublicClientApplication.builder(clientId).authority(authority).build();
AuthorizationRequestUrlParameters parameters = AuthorizationRequestUrlParameters
.builder(redirectURL,Collections.singleton(updatedScopes))
.responseMode(ResponseMode.QUERY)
.prompt(Prompt.SELECT_ACCOUNT).state(state).nonce(nonce)
.claimsChallenge(claims).build();
我遇到了这个错误
com.microsoft.aad.msal4j.MsalInteractionRequiredException:AADSTS70000:请求被拒绝,因为请求的一个或多个范围未经授权或已过期。用户必须先登录并授予客户端应用程序访问请求范围的权限。
跟踪 ID:add5eedb-86d5-41bc-bad3-129298e3ca00
关联 ID:1d2ab508-8ec6-49d7-abaa-d1b8feaedda8
I register app in Accounts in any organizational directory (Any Azure AD directory - Multitenant) and personal Microsoft accounts (e.g. Skype, Xbox) azure account
Api权限:
委派:
Calendars.Read
Calendars.Read写入
offline_access
openid
个人资料
User.Read
User.Read.全部
电子邮件
Mail.Read
申请:
- Calendars.Read
- Calendars.Read写入
我在 Azure 门户中提供了所需的权限和范围(公开 Api),但我仍然收到此错误。我试图解决这个错误超过几天我不明白我做错了什么?
用户登录时没有询问日历的权限。
如何解决这个错误?
提前致谢。
已解决
I have solved this problem by adding
Calendars.ReadWrite
scope in AuthorizationRequestUrlParameters
我通过在 AuthorizationRequestUrlParameters
中添加 Calendars.ReadWrite 范围解决了这个问题进入下面的字符串 updatedScopes
我已经传递了 null,所以它被认为是微软的默认范围,而不是询问日历权限。
String updatedScopes = scope == null ? "Calendars.ReadWrite" : scope;
PublicClientApplication pca = PublicClientApplication.builder(clientId).authority(authority).build();
AuthorizationRequestUrlParameters parameters = AuthorizationRequestUrlParameters
.builder(redirectURL,Collections.singleton(updatedScopes))
.responseMode(ResponseMode.QUERY)
.prompt(Prompt.SELECT_ACCOUNT).state(state).nonce(nonce)
.claimsChallenge(claims).build();