1

问题:如何在我的 mvc 网站上仅使用 1 个 msal-provider,目前通过工具包使用 mgt-msal-provider,并在需要发送邮件时使用 Owin 身份验证。但这以我有 2 个登录按钮而告终,这很不方便。

Request.GetOwinContext().Authentication.Challenge(
  new AuthenticationProperties { RedirectUri = "/" },
  OpenIdConnectAuthenticationDefaults.AuthenticationType);

<mgt-msal-provider client-id=@appId
  login-type="popup"
  scopes="user.read,people.read,people.read.all,contacts.read,user.read.all"
  authority=@authority></mgt-msal-provider>

我使用的是 Owin 的,因为我还没有找到一种使用工具包发送自定义电子邮件的方法,但我可以通过 c# Microsoft.Graph 库来做到这一点

我的 2 个不同的登录按钮

4

1 回答 1

0

在这种情况下,您可以利用代理提供者。代理提供程序可以通过您的后端代理对 Microsoft Graph 的所有调用,以便您可以利用 Owin 身份验证来访问该图。这将允许用户只进行一次身份验证,但仍然可以利用前端的工具包组件。

看看这个ASP.NET MVC示例。您还可以使用一个ASP.NET Core示例。

于 2020-04-21T16:50:52.357 回答