Authentication azures已经过时了
我有以下Azure AD身份验证代码:Authentication azures已经过时了,authentication,azure-active-directory,obsolete,Authentication,Azure Active Directory,Obsolete,我有以下Azure AD身份验证代码: services .AddAuthorization(options => { options.AddPolicy(name, builder => { builder .AddAuthenticationSchemes(AzureADDefaults.AuthenticationScheme) .Requir
services
.AddAuthorization(options =>
{
options.AddPolicy(name, builder =>
{
builder
.AddAuthenticationSchemes(AzureADDefaults.AuthenticationScheme)
.RequireAuthenticatedUser();
});
})
.AddAuthentication(AzureADDefaults.AuthenticationScheme)
.AddAzureAD(options =>
{
configuration.Bind("AzureAd", options);
});
services.Configure<OpenIdConnectOptions>(AzureADDefaults.OpenIdScheme, options =>
{
...
}
服务
.AddAuthorization(选项=>
{
options.AddPolicy(名称、生成器=>
{
建设者
.addAuthenticationScheme(AzureAddFaults.AuthenticationScheme)
.RequireAuthenticatedUser();
});
})
.AddAuthentication(AzureAddFaults.AuthenticationScheme)
.AddAzureAD(选项=>
{
绑定(“AzureAd”,选项);
});
配置(AzureADDefaults.OpenIdScheme,选项=>
{
...
}
AzureADDefaults.AuthenticationScheme和AzureADDefaults.OpenIdScheme现在已过时,消息为“改用Microsoft.Identity.Web。请参阅。但是,我找不到任何明确的文档,说明如何升级以下代码以使用Identity.Web而不是那些过时的常量。”
有人知道如何删除这个过时的代码吗?这显示了Identity Platform
和Identity.Web
之间的区别
对于Identity.Web,我们使用Microsoft.Identity.Web
和Microsoft.Identity.Web.UI
。尝试查看此内容,它使用AddMicrosoftIdentityWebAppAuthentication登录用户
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.Unspecified;
// Handling SameSite cookie according to https://docs.microsoft.com/en-us/aspnet/core/security/samesite?view=aspnetcore-3.1
options.HandleSameSiteCookieCompatibility();
});
// Sign-in users with the Microsoft identity platform
services.AddMicrosoftIdentityWebAppAuthentication(Configuration);
services.AddControllersWithViews(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
options.Filters.Add(new AuthorizeFilter(policy));
}).AddMicrosoftIdentityUI();
services.AddRazorPages();
}
//此方法由运行时调用。使用此方法可将服务添加到容器中。
public void配置服务(IServiceCollection服务)
{
配置(选项=>
{
//此lambda确定给定请求是否需要非必要cookie的用户同意。
options.checkApprovered=context=>true;
options.MinimumSameSitePolicy=SameSiteMode.Unspecified;
//根据标准处理SameSite cookiehttps://docs.microsoft.com/en-us/aspnet/core/security/samesite?view=aspnetcore-3.1
options.HandleSameSiteCookieCompatibility();
});
//使用Microsoft identity platform登录用户
服务。AddMicrosoftIdentityWebAppAuthentication(配置);
services.addcontrollerswithview(选项=>
{
var policy=new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()文件
.Build();
options.Filters.Add(新的授权过滤器(策略));
}).AddMicrosoftIdentityUI();
services.AddRazorPages();
}