KeyNotFoundException:字典中不存在给定的键“ OpenIdConnect.Code.RedirectUri”

时间:2019-02-16 09:06:54

标签: c# asp.net-core asp.net-core-mvc identityserver4 asp.net-core-2.1

我正在使用带有混合流身份服务器的vue cli中间件。 在Ajax通话中,我已手动重定向到了identityprovider,如下所示。

options.Events.OnRedirectToIdentityProvider = context =>
                 {
                     if (context.Request.Path.StartsWithSegments("/api"))
                     {
                         if (context.Response.StatusCode == (int)HttpStatusCode.OK)
                         {
                             context.ProtocolMessage.State = options.StateDataFormat.Protect(context.Properties);
                             context.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
                             context.Response.Headers["Location"] = context.ProtocolMessage.CreateAuthenticationRequestUrl();
                         }
                         context.HandleResponse();
                     }
                     return Task.CompletedTask;
                 };

从Identityserver回调时,我得到以下错误消息。

KeyNotFoundException:字典中不存在给定的键“ OpenIdConnect.Code.RedirectUri”。

下面是调用栈。

Microsoft.AspNetCore.Authentication.RemoteAuthenticationHandler.HandleRequestAsync() Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext上下文) Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext上下文) Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext上下文) Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext上下文)

怎么了?

我正在从仓库中使用身份服务器。

https://github.com/IdentityServer/IdentityServer4

我的分叉存储库(带有上面的代码)

https://github.com/hnviradiya/asp-net-core-vue-starter

1 个答案:

答案 0 :(得分:1)

export ac_cv_lib_utf8proc_utf8proc_version=no