如何在 OnTicketReceived 期间重定向
How to redirect during OnTicketReceived
在我们的 OIDC 流程中我有这个方法...
options.Events.OnTicketReceived = async context =>
{
...
(bool doRedirect, string destUrl) = redirectHelper.ProcessRedirectionRules(user);
if (doRedirect)
{
context.Response.Redirect(destUrl);
return;
}
...
};
不幸的是,虽然我确实需要将用户重定向到目的地 URL,但 context.Response.Redirect(destUrl);
根本不执行重定向。
我是否试图重定向到错误的位置或以错误的方式?应该怎么做?
我想你错过了这个:
if (doRedirect)
{
context.Response.Redirect(destUrl);
context.HandleResponse();
return;
}
总结:
停止对此请求的所有处理,并 return 到客户端。调用者负责生成完整响应。
在我们的 OIDC 流程中我有这个方法...
options.Events.OnTicketReceived = async context =>
{
...
(bool doRedirect, string destUrl) = redirectHelper.ProcessRedirectionRules(user);
if (doRedirect)
{
context.Response.Redirect(destUrl);
return;
}
...
};
不幸的是,虽然我确实需要将用户重定向到目的地 URL,但 context.Response.Redirect(destUrl);
根本不执行重定向。
我是否试图重定向到错误的位置或以错误的方式?应该怎么做?
我想你错过了这个:
if (doRedirect)
{
context.Response.Redirect(destUrl);
context.HandleResponse();
return;
}
总结: 停止对此请求的所有处理,并 return 到客户端。调用者负责生成完整响应。