我相信我的问题的简短回答是“不”,但请允许我描述背景。
我们目前正在使用IdentityServer授权访问我们的API(通过客户端凭据)。所有API客户端都是在我们的数据中心运行并由我们控制的计算机程序。为了最大限度地减少攻击面,我们的IdentityServer从内部/专用网络运行,可从我们的API,服务和其他应用程序访问。没问题。
我们现在希望利用IdentityServer安装为面向公众的Web应用程序提供用户身份验证。这些应用程序通过ASP.NET MVC运行,因此需要用户与IdentityServer进行交互以进行密码验证(隐式或混合授权类型)。这似乎是一个很难的要求,但我很好奇是否有一种简单的方法来维护IdentityServer的私有安装。
我们可以代理来自ASP.NET中间件的请求来处理身份验证握手吗,这样做是否有意义?我倾向于面向公众的STS来消除任何代理,但我想要看看其他模式是否可以使用。
为了它的价值,我们最终会使用基于cookie的身份验证与混合流程,但也可以从隐式流程开始。
答案 0 :(得分:1)
用户的浏览器必须能够访问身份服务器。这可以通过代理来实现。