我们有一个用经典 ASP 构建的遗留应用程序需要访问一个 API - 这个 API 由 IdentityServer“保护” - 所以基本上我们需要为这个遗留应用程序实现 OpenIdConnect 支持。
到目前为止,我能想到的最简单的解决方案是尝试以某种方式将此站点包装在更新的版本中,然后我们只需在 Owin-startup 中添加几行代码,一切应该 (?) 添加:
.AddOpenIdConnect("oidc", options =>
{
options.SignInScheme = "Cookies";
options.Authority = "http://localhost:5000";
options.RequireHttpsMetadata = false;
options.ClientId = "mvc";
options.ClientSecret = "secret";
options.ResponseType = "code id_token";
options.SaveTokens = true;
options.GetClaimsFromUserInfoEndpoint = true;
options.Scope.Add("api1");
options.Scope.Add("offline_access");
});
那么有可能以某种方式让 OWIN 与经典 ASP 一起工作吗?还是我们注定要尝试构建自己的客户端/中间件?
最佳答案
如果没有其他“阻碍”阻止您更新到 .Net Framework 4.5.1+,那么这就是您的正确解决方案。
如果您转到 Owin official NuGet page它会告诉你,这个库特别没有依赖性,但是这不太正确。
如果我们转到 source Microsoft.Owin 中我们将看到:
<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
所以它实际上依赖于.Net Framework 4.5.1。如果您有可能升级您的项目,那就去做吧。
关于asp.net - 将 OpenIDConnect 集成到经典 ASP 应用程序中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50413593/