首页 > 解决方案 > 在 ASP.Net Core Web App 上使用 mgt-people-picker 时,有没有办法避免用户再次登录?

问题描述

我目前有一个 Blazor 服务器,并且正在使用下面的示例代码,我的 appsettings.Json 填充了我自己的 Azure 相关属性。

https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/tree/master/2-WebApp-graph-user/2-1-Call-MSGraph

我注意到,当我将 mgmt people picker 组件添加到我的 Index.cshtml 文件中时,当用户已经通过身份验证时,我必须再次登录。有没有办法避免用户登录两次,而当 Startup.cs 在开始时进行身份验证时,只需准备好人员选择器?

//MS Authentication in Startup.cs
            services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
                .AddMicrosoftIdentityWebApp(Configuration)
                .EnableTokenAcquisitionToCallDownstreamApi(initialScopes)
                .AddMicrosoftGraph(Configuration.GetSection("DownstreamApi"))
                .AddInMemoryTokenCaches();

Index.cshtml 中的人物选择器插件

div class="text-center">
    <h1>Welcome!</h1>
    <script src="https://unpkg.com/@@microsoft/mgt/dist/bundle/mgt-loader.js"></script>


    <mgt-msal-provider client-id="[removed]"
                       login-type="popup"
                       scopes="user.read,people.read"
                       redirect-uri="[host url]"
                       authority="[removed"></mgt-msal-provider>
    <mgt-login></mgt-login>
    <mgt-people-picker></mgt-people-picker>
</div>

这是我需要在 Controller 类中添加一个方法以传递给人员选择器的东西吗?

标签: microsoft-graph-apimsalpeoplepickermicrosoft-graph-toolkit

解决方案


推荐阅读