我们已经使用.Net核心库配置了IdentityServer4主机,并且所有API均使用.Net完整框架开发。
我们确实需要为每个请求支持审核日志记录功能,并确定客户端是否可以访问所请求的API。
IdentityServer3.AccessTokenValidation库需要ClientId和ClientSecret,这仅是APIResourceName和APIResourceSecret或WebRequestHandler来引发内省事件。
但是这里的问题是,我们确实有多个API,例如Patient,Employee,Customer等。
如何根据客户端请求的资源/ API动态传递ClientId和ClientSecret?
注意:
使用此配置,它将触发TokenIntrospectionSuccess和TokenIntrospectionFailure事件。我们确实有事件订阅者,该事件订阅者会侦听此事件,并基于可用信息,可以记录客户端请求的资源访问成功与否。
如果此信息不足,请告诉我。
app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions()
{
Authority = "http://localhost:5000/",
ClientId = "PatientAPI",
ClientSecret = "secretvalue",
ValidationMode = ValidationMode.ValidationEndpoint,
});