我正在尝试在包装的自定义中间件令牌验证器中使用Microsoft.Owin.Security.OAuth库。该中间件将被加载到将接收承载令牌的服务器上,该令牌随后将被传递到资源服务器的自省端点,并且将返回范围,该范围随后将用于授权某些webapi调用。
此验证器仅通过调用自省端点来验证令牌。我认为我可以通过包装OAuthAuthorizationServer中间件来实现,而我自己只需要从消费者那里获得我们自省端点所需的信息。
我读了许多文章,我必须承认我感到有点迷茫。我试图简单地创建一个自定义中间件,该中间件将令牌从授权标头中拉出,确认它是不记名令牌,调用自省端点,检索范围并构建ClaimsIdentity。我的问题是我无法弄清楚我所缺少的内容,这些内容会与ASP.Net中的Authorize功能挂钩。
我尝试自定义一些OAuthAuthorizationServer和OAuthBearerAuthentication中间件,并提供与我的自定义中间件类似但无济于事的提供程序。看来,最终我总是无法拨打到经过Authorize装饰的端点。
如有必要,我可以提供代码,但我觉得我所缺少的只是方向。我已经阅读了许多涉及OAuthAuthorizationServer的文章,特别是有关将Authorization Server与Resource Server分离的BoT文章,但是我似乎缺少了一些东西。
任何帮助或指导将不胜感激,谢谢!