我正在编写自己的测试IdentityServer,但我遇到了麻烦。必须为每个基于浏览器的客户端指定ClientUri和RedirectUris。我知道这些可以存储在数据库中,但有没有办法在这里插入通配符?
我们的每个客户都会收到他们自己的子域名,我希望通过允许所有试图访问我们在* .ourcompany.com上的任何应用程序的浏览器被视为身份服务器中的同一客户端来简化用户管理。这可能。
答案 0 :(得分:3)
您可以实现自己的重定向URI验证程序。但出于安全考虑,建议不要这样做,因为它会扩大攻击面。
Identity Server4
我认为您可以在启动时添加AddCustomAuthorizeRequestValidator
。不过,建议不要修改重定向URI验证。
答案 1 :(得分:0)
对于IdentityServer4,您可以实现自己的IRedirectUriValidator
并使用 Startup.cs 中的AddRedirectUriValidator
扩展方法进行注册。
services.AddIdentityServer(options =>
{
// ...
})
.AddRedirectUriValidator<CustomRedirectUriValidator>();
默认情况下,StrictRedirectUriValidator
已注册,但可以通过调用.AddRedirectUriValidator
来覆盖,如上所示。