【发布时间】:2022-02-08 01:52:06
【问题描述】:
我们如何在同一个应用程序中混合 Azure AD 和 Azure AD B2C?我正在构建一个应该可供员工和客户访问的应用程序。我的要求是使用 Azure AD 对内部用户(如员工)进行身份验证,使用 Azure AD B2C 对外部用户(客户)进行身份验证。
到目前为止我知道什么。 我可以构建两个 web api(只有不同的 Startup.cs),同样可以在 reactjs 上完成 - 这并不理想
react 应用的 index.js 中的代码
import { PublicClientApplication } from "@azure/msal-browser";
import { MsalProvider } from "@azure/msal-react";
import { msalConfig } from './config';
const msalInstance = new PublicClientApplication(msalConfig);
ReactDOM.render(
<Fragment>
<StrictMode>
<MsalProvider instance={msalInstance}>
<Provider store={store}>
<App />
</Provider>
</MsalProvider>
</StrictMode>
</Fragment>,
document.getElementById('root')
);
Startup.csos aspnet core api 中的当前代码
// 'AzureAd' and 'AzureAdB2C' is configured in appsettings.json
services.AddMicrosoftIdentityWebApiAuthentication(_configuration, "AzureAd");
// + services.AddMicrosoftIdentityWebApiAuthentication(_configuration, "AzureAdB2C"); <---- Would this work?
services.AddSingleton<IAuthorizationPolicyProvider, PermissionPolicyProvider>();
services.AddScoped<IAuthorizationHandler, PermissionAuthorizationHandler>();
【问题讨论】:
标签: azure asp.net-core azure-active-directory azure-ad-b2c