我正在使用以下架构进行峰值工作:
[asp.net mvc 客户端] --> [带有自定义中间件的身份服务器 3] --> [自定义 IdP]
峰值是为了证明一种更开放、基于标准的方法比另一种只服务于一个目的的定制解决方案更好。
我需要的功能流程是这样的:
- 客户端将执行用户搜索并检索客户 ID
- 然后,用户将请求提供该客户 ID 的受限资源
- OpenId 连接管道然后将它们重定向到自定义 IdP
- 自定义 IdP 为该用户提供了一个秘密问题页面,必须回答这些问题才能对其进行身份验证
- 身份验证发生并通过 idsvr3 将用户传递回客户端,在客户端上他们可以访问受限资源。
我的问题是——这可以实现吗?状态在客户端上是加密的,应该被认为是不可加密的。我可以访问客户端的源代码、idsvr3 实例、自定义中间件和自定义 IdP,因此任何人都能想到的任何魔术都应该可以实现。
我在 MVC 客户端中为 OpenIdConnect 使用最新的 NuGet 包。