IdentityServer4重定向验证器 - 实现IREDIRECTURI接口



我实现了一个自定义重定向验证器(实现的接口IREdecturivalIdator(,并将其注入IdentityServer4(我知道需要用秘密重定向攻击来减轻的风险(,以下面的方式,以下,onstartup.cs中的IDSRV4主机,configureservices((:

services.AddIdentityServer()
    .AddRedirectUriValidator<MyCustomValidator>()

即使我可以在使用客户端redirecturis/server sine客户端confien之后触发它,除非客户端要求的redirecturi在服务器端客户端contient的" redirecturis"列表中,否则我的redirecturi验证器永远不会得到触发是因为客户将首先拒绝。

似乎打败了重定向URI验证器的点。除了仅实现此界面/将其注入身份验证流程外,是否可以完全覆盖这种行为?

您是从头开始实现了接口还是像我一样,是从严格的指导剂中继承的?

我问,本周我使用IdentityServer 3.1.2遇到了同样的问题,直到我意识到我没有将"覆盖"修饰符添加到IREdeDirecturivalIdator方法签名中。

public **override** async Task<bool> IsRedirectUriValidAsync(string requestedUri, Client client)
{
   ...
}

之后起作用。如此愚蠢的错误,但确实发生了。希望这对某人有帮助。

最新更新