Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IdentityServer4客户端重定向URI问题_Identityserver4 - Fatal编程技术网

IdentityServer4客户端重定向URI问题

IdentityServer4客户端重定向URI问题,identityserver4,Identityserver4,我在IdentityServer4主机端配置了以下客户端: new Client { ClientId = "myClient", .... RedirectUris = {"https://localhost:44001/home/claims", "https://localhost:44001/"} .... } 我目前正试图让它以这样一种方式返回,即无论它来自客户端应用程序中的哪个控制器,它都能工作(

我在IdentityServer4主机端配置了以下客户端:

new Client
{
     ClientId = "myClient",
     ....
     RedirectUris = {"https://localhost:44001/home/claims", 
                      "https://localhost:44001/"}
     ....
}
我目前正试图让它以这样一种方式返回,即无论它来自客户端应用程序中的哪个控制器,它都能工作(因为重定向URI是在客户端应用程序启动时配置的,并且必须与服务器的客户端配置相匹配)

在客户端应用程序启动中,相关代码:

app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
{
     ...
     ClientId = "myClient",
     RedirectUri = "https://localhost:44001/",
     ...
}
当我在客户端启动时将redirectUri设置为上面的第二个选项“”时,我被重定向到客户端错误控制器,错误如下:

抱歉,出现错误:未经授权的\u客户端无效 重定向“uri”

此外,服务器向控制台输出以下错误:

引发异常:中的“System.FormatException” System.Private.CoreLib.dll IdentityServer4.Validation.AuthorizeRequestValidator:错误:无效 重定向_uri:{“ClientId”:“myClient”,
…“允许重定向URI”:[ "", “”],“主体”:“匿名”,“请求范围”:“原始”:{ “客户id”:“我的客户”, “重定向uri”:“”, “回复方式”:“表单发布”, “响应类型”:“代码标识令牌”, …}}


这几乎就像一个客户端不能有多个重定向URI,但这不可能是正确的。

好的,在将第二个重定向URI设置为唯一的重定向URI之后,我仍然得到了错误。我去掉了后面的斜杠(“/”),它终于起作用了。我还得再处理一些。错误可能更具描述性。好的-如果您只是将重定向URI设置为客户端的主URL,它最终将返回到授权的控制器。所以,在将该客户端的重定向URI的客户端和服务器配置设置为“”之后,我现在可以拥有多个带有[authorize]注释的控制器,它们将正常工作。