在自托管 IdentityServer3 CustomGrant Validator 中访问 IOwinRequest

Access IOwinRequest in Self Hosted IdentityServer3 CustomGrant Validator

我正在使用自托管(即控制台应用程序)IdentityServer3 应用程序。我已经实现了一个 CustomGrant 验证器。

如何从此 CustomGrantValidator 访问 IOwinRequest 和 IOwinResponse 上下文?

可以使用依赖注入来完成吗?

来自 IdentityServer 的 DI 的服务可通过 ResolveDependency OWIN 扩展获得:https://identityserver.github.io/Documentation/docsv2/advanced/owin.html。要使用这些 OWIN 扩展,您的代码必须在 IdentityServer 之后的管道中 运行。

您可以将 OwinEnvironmentService 注入您的验证器。

从那里你可以像

一样创建 OwinContext

var context = new OwinContext(owinEnvironmentService.Environment);

上下文依次有请求和响应对象。