gpt4 book ai didi

asp.net-core - 使用 AD B2C 时如何添加 OnTokenValidated 事件处理程序?

转载 作者:行者123 更新时间:2023-12-04 00:02:23 25 4
gpt4 key购买 nike

我在 ASP.NET Core 3 应用程序中使用 Azure B2C,它运行良好。
我在启动中使用以下代码:

services.AddAuthentication(AzureADB2CDefaults.AuthenticationScheme)
.AddAzureADB2C(options => Configuration.Bind("AzureAdB2C", options));

我想处理标准的 TokenValidated OpenIdConnect 事件,换句话说,我需要一个配置来设置我的事件处理程序。

检查源代码我看到类 AzureAdB2COpenIDConnectEventHandlers.cs以及它在 AzureADB2COpenIdConnectOptionsConfiguration 中的用法但不幸的是,两个类都声明为 internal
问题

我所需要的只是让我的 TokenValidated 处理程序生效,保留所有现成的基于 OpenIdConnect 的 AD B2C 功能,该功能目前正在运行。

伪代码,类似这样:
options.Events = new OpenIdConnectEvents()
{
// ...
OnTokenValidated = MyTokenValidatedHandler
};

如何以简单的方式完成此操作?

最佳答案

我通过在 github 中搜索 ["Events.OnTokenValidated"AzureAdB2C] 找到了我的答案,并为我的案例组装了以下内容:

// My existing code in Startup:
services.AddAuthentication(AzureADB2CDefaults.AuthenticationScheme)
.AddAzureADB2C(options => Configuration.Bind("AzureAdB2C", options));

// My added code to handle the OnTokenValidated event
services.Configure<OpenIdConnectOptions>(AzureADB2CDefaults.OpenIdScheme, options =>
{
var onTokenValidated = options.Events.OnTokenValidated;
options.Events.OnTokenValidated = context =>
{
onTokenValidated?.Invoke(context);
// My custom handler goes below:

关于asp.net-core - 使用 AD B2C 时如何添加 OnTokenValidated 事件处理程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58508727/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com