【发布时间】:2020-03-06 20:56:25
【问题描述】:
我们正在使用带有自定义登录页面的 Identity Server 4。我们一直在测试 cookie 过期或手动修改令牌(强化的一部分)时会发生什么。
应用程序想要将我们重定向到https://localhost:44349/signin-oidc,并返回一个 302 重定向,但 /signin-oidc 不存在。我们想抛出 401 并将它们重定向到 /home。
我找到了可以捕捉事件的地方
options.Events = new OpenIdConnectEvents
{
OnRedirectToIdentityProvider = context => {
var newRedirect = context.ProtocolMessage.RedirectUri.ToString().Replace("signin-oidc", "home");
var builder = new UriBuilder(newRedirect);
builder.Scheme = "https";
context.ProtocolMessage.RedirectUri = builder.ToString();
context.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
return Task.FromResult(0);
}
};
但这似乎不起作用,我们只是抛出 302 错误,而没有任何方式向用户报告发生了什么。
【问题讨论】:
标签: openid-connect