【发布时间】:2019-07-10 07:35:50
【问题描述】:
我正在将 vue cli 中间件与带有 Hybrid Flow 的 identityserver 一起使用。 在 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;
};
在来自身份服务器的回调中,我遇到了以下错误。
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 context)
怎么了?
我正在使用来自以下 repo 的身份服务器。
https://github.com/IdentityServer/IdentityServer4
我的分叉回购(上面的代码)
【问题讨论】:
标签: c# asp.net-core asp.net-core-mvc identityserver4 asp.net-core-2.1