在fiddler作曲家中,我执行对本地api的调用,该api由本地identityserver3保护。
我添加了令牌,我配置了中间件来验证服务器上的令牌。 Tt工作正常,在Idenityserver3日志文件中,我看到配置范围的成功令牌验证logmessage。
我认为,使用htis config,每次调用api时,Idsrv3中间件都会调用令牌验证端点。
我的问题是fiddler没有显示这个中间件请求,只是调用api本身。这是由于小提琴设置还是因为这个请求对小提琴手是不可见的另一个原因?
有没有办法显示它?
由于
答案 0 :(得分:1)
可能是.NET没有将localhost流量路由到fiddler代理。有关解决方法,请检查此 https://identityserver.github.io/Documentation/docsv2/endpoints/identityTokenValidation.html
另外,检查您是否正确配置了验证模式。根据文档{{3}},如果您无法在本地访问加密库,则验证端点非常有用。
有效的验证模式是
ValidationMode.Both
- 对JWT使用本地验证,为参考代币使用验证终点
ValidationMode.Local
- 使用本地验证oly(仅适用于JWT令牌)
ValidationMode.ValidationEndpoint
- 仅使用验证端点(适用于JWT和参考令牌)
您可以在IdentityServerAuthenticationOptions
app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
{
Authority = "https://localhost:44333/core",
//RequiredScopes = new[] { "write" },
// client credentials for the introspection endpoint
ClientId = "write",
ClientSecret = "secret",
ValidationMode = ValidationMode.Local
});