在遗留 .net 4.6.2 项目中使用 IdentityServer4.AccessTokenValidation

using IdentityServer4.AccessTokenValidation in a legacy .net 4.6.2 project

我正在尝试设置 IdentityServer4 以针对 .net framework => 4.6.2 验证 Webforms 项目 运行,这是一个具有 XML SOAP WCF 服务的单页 WCF REST 应用程序(也=> 4.6.2)。

单页应用程序使用来自客户端的不记名令牌。这在使用 nuget 包 IdentityServer3.AccessTokenValidation 时有效,但将 IdentityModel 的版本限制为 < 2。IdentityServer4.AccessTokenValidation 项目中没有应用程序构建器扩展,我找不到如何正确配置它的示例。这可能吗,或者如果我的客户端应用程序不是 运行 dotnet core,我是否只能使用带有不记名令牌的 V3?

如果是这样,将来无法将 IdentityModel 包更新到版本 2 及更高版本会有多大问题?

我一直在搜索这个问题,但找不到明显的解决方案。我是否错过了一些简单的事情或误解了我应该如何在 OWIN 中使用来自 oidc js 客户端的不记名令牌?

我能找到的唯一答案是使用 IdentityServer3.AccessTokenValidation 而不是 4,但我担心对 IdentityModel class 的限制可能会在未来引起问题。

如有任何帮助,我们将不胜感激。

谢谢

保罗

您可以使用 IdentityServer3.Contrib.AccessTokenValidation 社区维护的 NuGet 包。此软件包将使用 IdentityModel > 3,这应该可以解决您的问题。