katana访问令牌验证中间件
2017-02-25 本文已影响131人
灭蒙鸟
layout: docs-default
The Katana 访问令牌验证中间件
在WebAPI中使用IdentityServer的访问令牌很简单,只需要简单的使用令牌验证中间件到katana管道并把URL设置到IdentityServer,所有的配置和验证工作,令牌验证中间件会自动完成。
这个中间件可以从这里下载: nuget
或 source code.
高层功能:
- 支持验证JWT和参考令牌
- 支持验证作用域
- 内置的可配置的内存缓存来参考令牌验证结果。
- 缓存实现可以被替换
典型的用户场景是,我们提供URL和API的作用域名字给IdentityServer:
public class Startup
{
public void Configuration(IAppBuilder app)
{
// turn off any default mapping on the JWT handler
JwtSecurityTokenHandler.InboundClaimTypeMap = new Dictionary<string, string>();
app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
{
Authority = "https://localhost:44333/core",
RequiredScopes = new[] { "api1" }
});
app.UseWebApi(WebApiConfig.Register());
}
}
中间件首先检查令牌--如果是一个JWT,那么在本地进行验证(使用发布者的名字和来自发现文档的密钥信息)。如果是一个参考令牌,中间件会使用IdentityServer上的访问令牌验证 endpoint
(或者凭据配置的 introspection endpoint ).