使用 MSAL 进行应用注册时总是收到 AUTHORIZATION_NEEDED

Always receiving AUTHORIZATION_NEEDED when doing app enrollment using MSAL

在我们的 android 应用程序中,我无法注册应用程序以进行注册。一切都是根据这个示例“https://github.com/msintuneappsdk/Taskr-Sample-Intune-Android-App”设置的,但当我调用 registerAccountForMAM().[=12 时,我仍然总是收到“AUTHORIZATION_NEEDED”错误代码=]

我正在将 MSAL 与 Intune SDK 结合使用,并且该应用已注册为多租户。

MAMServiceAuthenticationCallback 中的 AacquireToken() 代码

@Override
    public String acquireToken(@NonNull final String upn, @NonNull final String aadId, @NonNull final String resourceId) {
           final String[] scopes = {resourceId + "/.default"};
            final IAccount account = MSUtil.loadAccounts(MSUtil.getAaid());
            if (account == null) {
                try {
                    throw new MsalUiRequiredException(MsalUiRequiredException.NO_ACCOUNT_FOUND, "no account found for " + aadId);
                } catch (MsalUiRequiredException e) {
                    e.printStackTrace();
                }
            }

            AcquireTokenSilentParameters params =
                    new AcquireTokenSilentParameters.Builder()
                            .forAccount(account)
                            .fromAuthority(account.getAuthority())
                            .withScopes(Arrays.asList(scopes))
                            .build();
            final IAuthenticationResult iAuthenticationResult = mMultipleAccountApp.acquireTokenSilent(params);
            iAuthenticationResult.getAccessToken();   
 }

这里的 acquireTokenSilent() 调用对我来说总是失败并出现以下错误

"com.microsoft.identity.client.exception.MsalUiRequiredException:AADSTS65001:用户或管理员未同意使用 ID 为 'XXX' 且名为 'XXX' 的应用程序。为此用户和资源发送交互式授权请求。 “

我希望得到 ENROLLMENT_SUCCEEDED 而不是 AUTHORIZATION_NEEDED。

我也尝试过手动请求这个 url “https://login.microsoftonline.com/121025c7-d7d0-4cab-a42e-8994b36d1aac/oauth2/authorize?client_id=XXX &response_type=代码&redirect_uri=“XXX” &prompt=admin_consent" 按照其他文章的建议,但没有成功。

没关系,我可以通过授予对管理工具的权限来解决这个问题。