Web API v2中的自定义授权

时间:2016-12-10 19:25:54

标签: c# authentication asp.net-web-api asp.net-web-api2 identityserver3

My Web API v2应用程序使用IdentityServer通过检查请求标头中的有效承载令牌来授权API请求。这很好用。但是,由于我无法控制的原因,需要对一个密钥执行额外的授权检查,这个密钥也将在每个请求的标头中发送。

因此,只有满足以下两个条件时,才能由Web API处理请求:

  1. IdentityServer成功验证了承载令牌。
  2. 密钥已成功通过第三方系统验证,并具有与之关联的有效权限集。
  3. IdentityServer使用自定义Owin中间件来处理第1点。但是我不确定在哪里实现第2点中描述的自定义逻辑。需要对每个请求执行此检查。想到的几个选项是:

    • 实现自定义Owin中间件,如here所述,将在IdentityServer中间件运行后在管道中调用。
    • 实施自定义授权过滤器。
    • 实现自定义消息处理程序。

    任何指导都将不胜感激。

0 个答案:

没有答案