有没有办法在 .NET Core 的 OpenID 中更改用于 State 的值?

Is there a way to change the value used for State within OpenID for .NET Core?

是否可以在 .NET Core 中更改发送到客户端自动化端点的“状态”值?据我所知,我无法控制这个值。

在某些情况下,我有一个客户建议他们不能接受超过 255 个字符的状态,但 .NET Core 中间件完全处理状态值并似乎从中生成超过 800 个字符的随机字符串我的测试场景。

如果这是一个奇怪的问题,我们深表歉意。谢谢!

您可以在 OnRedirectToIdentityProvider 挂钩中设置自定义状态,如下所示:

OnRedirectToIdentityProvider = (RedirectContext context) => {
  context.ProtocolMessage.State = "CUSTOM_STATE";
  return Task.CompletedTask;
}