B2C - 在 url 中从 .net5 应用程序传递参数
B2C - pass parameter in url from .net5 application
我正在从我的 .net5 应用程序调用 b2c 自定义策略。我用来将用户从应用程序重定向到自定义策略屏幕的代码是:
var scheme = OpenIdConnectDefaults.AuthenticationScheme;
var properties = new AuthenticationProperties { RedirectUri = redirectUrl };
properties.Items["policy"] = "B2C_1A_xxxxxx;
return Challenge(properties, scheme);
我还想从我的应用程序传递一个值以在 B2C 屏幕上预填充输入。
我可以通过在自定义策略中使用 OAUTH-KV:KeyValueKey
从 url 参数中获取值。这样当我手动将 &KeyValueKey=KeyValueValue
添加到 url 时,我能够在相关输入中显示 KeyValueValue
。
但是,我无法更新应用程序中的 C# 代码,因此我无法生成包含参数值的 url。
您可以在启动时将此查询参数添加到您的 Open Id Connect 中间件中。
例如:
app.UseOpenIdConnectAuthentication(new OpenIdConnectOptions()
{
//..
Events = new OpenIdConnectEvents
{
OnRedirectToIdentityProvider = context =>
{
context.ProtocolMessage.SetParameter("KeyValueKey", "KeyValueValue");
return Task.FromResult(0);
}
}
//..
});
我正在从我的 .net5 应用程序调用 b2c 自定义策略。我用来将用户从应用程序重定向到自定义策略屏幕的代码是:
var scheme = OpenIdConnectDefaults.AuthenticationScheme;
var properties = new AuthenticationProperties { RedirectUri = redirectUrl };
properties.Items["policy"] = "B2C_1A_xxxxxx;
return Challenge(properties, scheme);
我还想从我的应用程序传递一个值以在 B2C 屏幕上预填充输入。
我可以通过在自定义策略中使用 OAUTH-KV:KeyValueKey
从 url 参数中获取值。这样当我手动将 &KeyValueKey=KeyValueValue
添加到 url 时,我能够在相关输入中显示 KeyValueValue
。
但是,我无法更新应用程序中的 C# 代码,因此我无法生成包含参数值的 url。
您可以在启动时将此查询参数添加到您的 Open Id Connect 中间件中。 例如:
app.UseOpenIdConnectAuthentication(new OpenIdConnectOptions()
{
//..
Events = new OpenIdConnectEvents
{
OnRedirectToIdentityProvider = context =>
{
context.ProtocolMessage.SetParameter("KeyValueKey", "KeyValueValue");
return Task.FromResult(0);
}
}
//..
});