如何在 .NET Core 中使用 Microsoft Graph mgt-people-picker 组件

How to use the Microsoft Graph mgt-people-picker component in .NET Core

我是 Microsoft Graph 的新手 API。我正在尝试开发一个概念验证 .NET 核心 MVC Web 应用程序,其中一个功能是让人员选择器从 Azure AD 搜索用户。

以下是我的做法:

<script src='https://unpkg.com/@@microsoft/mgt/dist/bundle/mgt-loader.js'></script>


`<mgt-msal-provider client-id="[Removed]"
               login-type="redirect"
               scopes="user.read,people.read"
               redirect-uri="[Removed]"
               authority="[Removed]"></mgt-msal-provider>`

`<mgt-people-picker></mgt-people-picker>`

我已根据 Microsoft 文档配置了以下信息:

`"AzureAd": {
"Instance": "https://login.microsoftonline.com/",
"Domain": "[Removed]",
"ClientId": "[Removed]",
"TenantId": "[Removed]",
"CallbackPath": "/signin-oidc"}`

它无法以某种方式搜索我的 Azure AD 用户,它总是不匹配。 但是当我尝试使用 <mgt-mock-provider></mgt-mock-provider> 时,我可以看到一个用户列表。

有没有人可以向我展示或指导我正确的方向让我找到我需要的答案的任何可行的例子。

非常感谢您的帮助。

您缺少登录操作。

请加<mgt-login></mgt-login>.

我从您分享的 link 下载示例代码。

按照 link 中的步骤进行配置后,我将以下代码添加到 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="{client id}"
                       login-type="redirect"
                       scopes="user.read,people.read"
                       redirect-uri="https://localhost:44321/"
                       authority="https://login.microsoftonline.com/{my tenant}.onmicrosoft.com"></mgt-msal-provider>
    <mgt-login></mgt-login>
    <mgt-people-picker></mgt-people-picker>
</div>

appsettings.json是这样的:

  "AzureAd": {
    "Instance": "https://login.microsoftonline.com/",
    "Domain": "{my tenant}.onmicrosoft.com",
    "TenantId": "{tenant id}",
    "ClientId": "{client id}",
    "CallbackPath": "/signin-oidc",
    "SignedOutCallbackPath ": "/signout-callback-oidc",
    // To call an API
    "ClientSecret": "{client secret}"
  },

我登录后的首页是这样的: