选项


layout: docs-default

IdentityServerBearerTokenAuthenticationOptions有一系列的选项来调整令牌验证过程。

通用说明

  • Authority设置IdentityServer的基础地址。这个允许自动配置(JWT)和访问令牌验证endpoint(参考令牌)
  • RequiredScopes 设置一个 或者 多个 scope 声明,期望在访问令牌中存在。
  • ValidationMode 可以设置为 Local (仅JWTs ), ValidationEndpoint (JWTs 和参考令牌使用验证endpoint - 以及 Both 用于 本地验证JWTs 以及使用验证endpoint验证参考令牌(默认为 Both).
  • TokenProvider 定义了如何从HTTP请求中取到令牌,默认从Authorization 头中获取。自定义的令牌类型可能会从其它头或者查询字符串拿到令牌。
  • NameClaimType 设置ClaimsIdentity的名字声明类型 (默认是 name).
  • RoleClaimType 设置ClaimsIdentity的角色声明类型 (默认是 role).
  • PreserveAccessToken 如果设置为true,会创建一个叫做token的声明来保存传入的访问令牌(默认是 false).当想把令牌转发给其它API,暂存令牌非常有用。比如调用用户信息endpoint。
  • BackChannelHttpHandler 允许为back-channel通信指定一个自定义处理程序
    (比如:发现 endpoint 或令牌验证 endpoint).
  • BackchannelCertificateValidator 为back-channel通信制定一个自定义证书验证
  • DelayLoadMetadata 告诉中间件不要在程序启动的时候装载元数据,应该在第一次请求的时候装载 (默认是 false). 当启动的时候discovery endpoint还没就绪--比如使用者和令牌服务托管在同一个进程中。

JWTs的静态配置

除了从发现endpoint自动获取配置信息外,我们也可以手动配置中间件。

  • IssuerName 设置期望的IdentityServer的issuer名字
  • SigningCertificate 设置X.509证书来验证访问令牌签名

备注 当某种情况下,发现文档不能用的时候,静态配置非常有用,比如IdentityServer和客户都或者API运行在同一个Web应用里

使用Introspection Endpoint ( v2.2新增)

IdentityServer2.2版本开始支持令牌的内省。当使用参考令牌的时候,推荐使用这种方式 (请看 here).

这种情况下,需要让ClientIdClientSecret的值和IdentityServer作用域配置中的name和secret 一样。(请看scopes)

启用缓存

当使用参考令牌,你不想每次请求都去IdentityServer验证一下,这种情况下可以缓存验证结果。

  • EnableValidationResultCache 启用或者禁用验证结果缓存(默认是 false).
  • ValidationResultCacheDuration 设置缓存时长 (默认 5 分钟).
  • ValidationResultCache 设置缓存实现。默认采用内存缓存但是可以通过实现IValidationResultCache接口来扩展.

你可能感兴趣的:(选项)