如何覆盖由 IdentityServer3.accesstokenvalidation 引起的服务耦合

Posted

技术标签:

【中文标题】如何覆盖由 IdentityServer3.accesstokenvalidation 引起的服务耦合【英文标题】:How to override services coupling caused by IdentityServer3.accesstokenvalidation 【发布时间】:2018-05-17 18:32:32 【问题描述】:

我有一个身份服务器4,它验证随 API 接收的请求一起发送的令牌。

为此,我使用了 identityserver3.accesstokenvalidation。

在启动中:

 JwtSecurityTokenHandler.InboundClaimTypeMap = new Dictionary<string, string>();
 app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
    
       Authority = Configurations.AuthorizationAuthority,
    );

现在我可能会遇到运行 identityserver4 的服务器很快(多秒)不可用的情况。

如果发生这种情况,包含我的 API 的服务将无法运行:

无法建立连接,因为目标机器主动 拒绝了

即使 IdentityServer 服务器未运行,我也希望我的 API 服务启动,是否有某种配置 Identityserver3.accesstokenvalidation 提供来解决此问题?

【问题讨论】:

【参考方案1】:

DelayLoadMetadata 设置为true

【讨论】:

是否有必要在身份服务器 4 中使用证书,因为我收到此错误:无法创建以从以下位置获取配置:'localhost:33132/identity/.well-known/openid-configuration'。

以上是关于如何覆盖由 IdentityServer3.accesstokenvalidation 引起的服务耦合的主要内容,如果未能解决你的问题,请参考以下文章

如何覆盖由 IdentityServer3.accesstokenvalidation 引起的服务耦合

在单元测试中:如何覆盖由 entityAdapter.getSelectors() 创建的 NGRX 选择器

如何使用 Mockito 模拟由 Spring 应用程序上下文创建的对象以进行单元测试覆盖?

如何编写有效的测试计划

如何覆盖 jQuery 插件的 .val()?

SonarQube 线覆盖分析如何工作?