Azure Active Directory应用程序权限更改延迟

前端之家收集整理的这篇文章主要介绍了Azure Active Directory应用程序权限更改延迟前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用Azure Active Directory为我的应用程序提供对Microsoft Graph API的访问权限.

当我更改权限(例如,对各种类型的数据进行读/写访问)时,我注意到保存更改的时间以及我能够通过API访问新数据时的延迟.但是,我注意到,经过一段时间我的API调用开始工作.我的问题是

>这是预期的行为吗?
>是否有文档可以解释每个Microsoft Graph API请求需要哪些权限?

请注意,在进行相关API请求之前,我在更改每个权限后请求新令牌.

解决方法

当您更改范围时(如果使用Azure来管理自动化),您必须请求用户同意.确保能够使用PromptBehavior.Always参数“一次”调用ADAL AcquireTocken方法.
我认为这足以刷新您的同意并使您的新示波器可用.

这是我使用的宏代码

if (mustRefreshBecauseScopesHasChanged)
        {
            authResult = await authContext.AcquireTokenAsync(GraphResourceId,ClientId,AppRedirectURI,PromptBehavior.Always);
        }
        else
        {
            authResult = await authContext.AcquireTokenSilentAsync(GraphResourceId,ClientId);

            if (authResult.Status != AuthenticationStatus.Success && authResult.Error == "Failed_to_acquire_token_silently")
                authResult = await authContext.AcquireTokenAsync(GraphResourceId,PromptBehavior.Auto);
        }


        if (authResult.Status != AuthenticationStatus.Success)
        {
            if (authResult.Error == "authentication_canceled")
            {
                // The user cancelled the sign-in,no need to display a message.
            }
            else
            {
                MessageDialog dialog = new MessageDialog(string.Format("If the error continues,please contact your administrator.\n\nError: {0}\n\n Error Description:\n\n{1}",authResult.Error,authResult.ErrorDescription),"Sorry,an error occurred while signing you in.");
                await dialog.ShowAsync();
            }
        }

对于范围权限别名,您可以在此处找到它们:

http://graph.microsoft.io/en-us/docs/authorization/permission_scopes

猜你在找的Windows相关文章