是否可以在专用网络上运行IdentityServer以进行MVC身份验证?

问题描述:

我相信我的问题的简短答案是“否”,但允许我描述上下文。是否可以在专用网络上运行IdentityServer以进行MVC身份验证?

我们目前正在使用IdentityServer授权访问我们的API(通过客户端凭证)。所有的API客户端都是运行在我们数据中心并在我们控制之下的计算机程序。为了最大限度地减少攻击面,我们的IdentityServer从内部/专用网络运行,可从我们的API,服务和其他应用访问。没问题。

我们现在想要利用IdentityServer安装为我们面向公众的Web应用程序提供用户身份验证。这些应用程序通过ASP.NET MVC运行,因此需要用户与IdentityServer进行交互以进行密码验证(隐式或混合授权类型)。这似乎是一个很难的要求,但我很好奇,如果有一个简单的方法来维护IdentityServer的私人安装。

我们可以代理来自ASP.NET中间件的处理认证握手的请求吗?这样做是否有意义?我倾向于面向公众的STS以消除任何代理,但我想我会问看看还有哪些模式可以使用。

对于它的价值,我们最终将对混合流使用基于cookie的身份验证,但也可以从隐式流开始。

用户的浏览器必须能够访问身份服务器。尽管这可以通过代理。