我正在尝试在我的Electron React App中集成Azure Ad B2C登录。我已经使用MSAL-React Wrapper library进行身份验证登录,它在开发模式下工作正常,因为有Web服务器,但在生产模式下不工作,因为生产中没有Web服务器。我甚至尝试运行此示例https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-node-samples/ElectronTestApp,但它不适用于Azure AD B2c租户。此外,我应该在windows http://localhost:3333/或msal 3cb 5 f0 ac-afd 2 -4579-9369-b26 bc 7212 f69://auth上为我的电子应用程序使用哪个重定向URI。我尝试了这两个,在Azure登录屏幕成功后都显示了一个空屏幕。
现在的问题是:我应该使用什么库在我的Electron(后端)+React(前端)应用程序中集成Azure AD B2c登录?以便用户使用Azure Portal登录,我的应用程序获得有效令牌。
我使用了以下MSAL配置
export const msalConfig: Configuration = {
auth: {
clientId: '3cb5f0ac-afd2-4579-9369-b26bsc7212f69',
authority:
'https://kazureapps.b2clogin.com/kaszureapps.onmicrosoft.com/B2C_1_SignIn',
knownAuthorities: ['kazureapps.b2clogin.com'],
redirectUri: 'msal3cb5f0ac-afd2-4579-9369-b2s6bc7212f69://auth',
postLogoutRedirectUri: 'msal3cb5f0ac-afd2-4579-9369-b26bc7212f69://auth',
},
};
1条答案
按热度按时间sq1bmfud1#
·您可以尝试使用重定向方法登录,该方法使用MSAL React Wrapper元素,该元素允许您通过将特定组件 Package 在**'MsalAuthenticationTemplate'**组件中来保护这些组件。如果用户尚未登录,则此组件将调用登录,否则将呈现子组件。
此外,完成上述操作以允许Azure AD B2C MSAL身份验证后,请确保已允许Azure AD B2C应用程序注册中的隐式授权流,并已添加自定义公共客户端协议作为重定向URI,如**'company://auth'或'msal://redirect'。而用于本地开发的'ADAL config'**应如下所示:-
·由于用户交互(如按钮单击)而调用登录的建议方法是使用**'@ azure/msal-browser'**直接与 AuthenticatedTemplate 和/或 UnauthenticatedTemplate 组件配对,以分别向登录或注销用户呈现特定内容,如下例所示:-
·因此,通过遵循以上指定的修改,您应该能够正确地将Azure AD B2C与电子React应用程序集成,因为电子应用程序使用javascript作为其基础。请参阅以下链接了解更多信息:-
https://learn.microsoft.com/en-us/azure/active-directory/develop/scenario-spa-sign-in?tabs=react#sign-in-with-redirect
https://github.com/AzureAD/microsoft-authentication-library-for-js/issues/324