我有一个基于WebAPI / OWIN的服务,具有用于基于证书的身份验证的自定义中间件。当前,它需要SSL证书才能连接。现在,我需要添加对基于令牌的身份验证的支持,因此客户端将在请求标头中添加JWT令牌,而不是证书。因此,我添加了另一个中间件来处理令牌,但是服务器拒绝了来自HTTP层的传入请求,并显示错误12044(需要证书才能完成客户端身份验证)。
是的,我在自定义中间件中处理令牌的方式是问题吗?我应该改用UseOAuthBearerTokens还是UseOAuthAuthorizationServer?
我看过网络,但找不到类似的情况,但我敢肯定有些人会遇到这种情况。
解决此问题的标准方法是什么?如何解决此问题?
答案 0 :(得分:0)
对于以后遇到这个奇怪问题的读者来说。
在管道的早期阶段就有一个模块来拦截和过滤IIS请求。它还执行SSL协商,基本证书验证等。
最初设计该功能是为了防止任何没有有效证书的请求,它甚至不再是存储库的一部分,而只是使用了二进制引用。