AzureADB2CDefaults已过时,如何更换?

rxztt3cl  于 2023-01-21  发布在  DB2
关注(0)|答案(1)|浏览(145)

我在更新一些nuget软件包的过程中注意到AzureADB2CDefaults已经过时了。我知道Microsoft.Identity.UI已经整合了AzureADB2C,但我不确定如何使用它,同时仍然引用AzureADB2C,下面的代码是什么导致这个警告:

services.AddAuthentication(
            options =>
            {
                options.DefaultScheme = AzureADB2CDefaults.AuthenticationScheme;
            })

我尝试将DefaultScheme设置为“AzureADB2”字符串,还尝试添加:

.AddMicrosoftIdentityWebApp(configuration.GetSection("AzureAdB2C"), 
                        Constants.AzureAdB2C, null);

但运气不太好。
有什么方法可以引用带有microsoft标识的azure active directory吗?如果有任何关于如何替换这段代码的建议,我们将非常感激

3vpjnl9f

3vpjnl9f1#

    • 注意**:* * Microsoft.AspNetCore.Authentication.AzureADB2C.UINuget软件包已过时,Microsoft建议使用Microsoft.Identity.Web**软件包。
    • 要解决此问题**,请安装最新版本的Microsoft.Identity.WebMicrosoft.Identity.Web.UI

在**startup.cs**文件中,替换以下代码:

services.AddAuthentication(
            options =>
            {
                options.DefaultScheme = AzureADB2CDefaults.AuthenticationScheme;
            })

services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)  
.AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureADB2C"));

并将其替换为services.AddRazorPages().AddMicrosoftIdentityUI();,而不是使用services.AddRazorPages();
并参考Andreas Helland的blog对代码进行更改。
进行更改后,代码将成功执行:

有关更多详细信息,请参阅以下链接:
Migrating Azure AD B2C integration going from .NET Core 3.1 to .NET 5 by Andreas Helland
Azureb2c login is not connecting to account controller by killswitch

相关问题