.net core 使用Azure B2C和Microsoft.Identity.Web AddSignIn方法使用dotnet core Razor页面捕获注册事件
我需要捕获注册活动(登录/注销),以便将用户连接到数据库中的用户,以实现记录级安全。我正在使用dotnet core 3.1、razor pages和Azure b2c(Microsoft.Identity.Web),在理解如何连接这些事件时遇到困难。我努力让B2C工作,因为似乎有很多变化,但我现在有注册工作。这是我的创业计划,看起来像这样:.net core 使用Azure B2C和Microsoft.Identity.Web AddSignIn方法使用dotnet core Razor页面捕获注册事件,.net-core,azure-ad-b2c,razor-pages,.net Core,Azure Ad B2c,Razor Pages,我需要捕获注册活动(登录/注销),以便将用户连接到数据库中的用户,以实现记录级安全。我正在使用dotnet core 3.1、razor pages和Azure b2c(Microsoft.Identity.Web),在理解如何连接这些事件时遇到困难。我努力让B2C工作,因为似乎有很多变化,但我现在有注册工作。这是我的创业计划,看起来像这样: public void ConfigureServices(IServiceCollection services) {
public void ConfigureServices(IServiceCollection services)
{
services.AddSignIn(Configuration, "AzureAdB2C");
services.AddRazorPages()
.AddMicrosoftIdentityUI();
}
services.Configure<OpenIdConnectOptions>(AzureADB2CDefaults.OpenIdScheme, options =>
options.Events.OnTicketReceived = B2CExtensions.OnTicketReceivedCallback
);
我在这篇文章中引用了连接到options.Events.OnCreatingTicket的OnPostconfirmationSync,方法如下:
services.AddAuthentication().AddGoogle(options =>
{
...
options.Events.OnCreatingTicket = ctx =>
{
List<AuthenticationToken> tokens = ctx.Properties.GetTokens().ToList();
tokens.Add(new AuthenticationToken()
{
Name = "TicketCreated",
Value = DateTime.UtcNow.ToString()
});
ctx.Properties.StoreTokens(tokens);
return Task.CompletedTask;
};
});
考虑到最近的所有变化,仅仅运行身份验证是一个小小的挑战,因此我想在我所做的工作和似乎是向前发展的新方式(Microsoft.Identity.Web的AddSignIn方法)的基础上继续前进。任何帮助都将不胜感激
dotnet new webapp2 --auth IndividualB2C