IdentityServer4客户端redirectURI问题

时间:2018-02-23 15:52:57

标签: identityserver4

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

new Client
{
     ClientId = "myClient",
     ....
     RedirectUris = {"https://localhost:44001/home/claims", 
                      "https://localhost:44001/"}
     ....
}

我目前正试图让它以这样的方式返回,无论它来自哪个客户端应用程序中的哪个控制器都能正常工作(因为redirectURI是在客户端应用程序的启动时配置的,并且必须与服务器的客户端匹配)配置)。

在客户端应用启动时,相关代码:

app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
{
     ...
     ClientId = "myClient",
     RedirectUri = "https://localhost:44001/",
     ...
}

当我将redirectUri设置为上面的第二个选项,在客户端启动时“https://localhost:44001”时,我会被重定向到客户端错误控制器,并出现以下错误:

  

“抱歉,发生错误:unauthorized_client无效   REDIRECT_URI”。

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

  

抛出异常:'System.FormatException'   System.Private.CoreLib.dll   IdentityServer4.Validation.AuthorizeRequestValidator:错误:无效   redirect_uri:https://localhost:44001/ {“ClientId”:“myClient”,
  ......“AllowedRedirectUris”:[       “https://localhost:44001/home/claims”,       “https://localhost:44001/”],“SubjectId”:“anonymous”,“RequestedScopes”:“”,“Raw”:{       “client_id”:“myClient”,       “redirect_uri”:“https://localhost:44001/”,       “response_mode”:“form_post”,       “response_type”:“code id_token”,       ......}}

这几乎就像你不能为客户端提供多个重定向URI,但这可能不对。

0 个答案:

没有答案