Identity Server 4 发现文档中的非 HTTPS URL

Jay*_*Jay 5 identityserver4

我在 IIS 上托管 IdentityServer4。端点 URL 使用 HTTP 而不是 HTTPS。

我已经尝试过转发方法。但似乎没有任何效果。我们有 SSL 卸载。是这个原因吗?有什么不同的解决方案吗?

app.UseForwardedHeaders(new ForwardedHeadersOptions
{
    ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});
Run Code Online (Sandbox Code Playgroud)

mon*_*nty 5

在旧版本(< 4.0)中,可以设置IdentityServerOptions.PublicOrigin包括固定方案(因为有些人似乎无法使转发的标头正常工作)。甚至我在一个较旧的项目中也使用过它。

对于较新版本 (4.x+)

如果您确定它将是 https 并且您确定公共域是什么,您可以在 Github 上关注此问题。最低特权提供:

app.Use(async (ctx, next) =>
{
    ctx.SetIdentityServerOrigin("https://yourdomain.com");
    //ctx.Request.Scheme = "https"; // direct approach
    await next();
});
Run Code Online (Sandbox Code Playgroud)

根据问题中给出的信息,这应该做同样的事情。