asp.net - 将 OpenIDConnect 集成到经典 ASP 应用程序中

标签 asp.net asp.net-mvc-4 asp-classic identityserver4 openid-connect

我们有一个用经典 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/

相关文章:

javascript - 使用 Javascript 验证重复的单选按钮

c# - 在包含静态字段的非静态类中触发析构函数?

c# - 如何在 ASP.NET 中将 DataFormatString 设置为 Textbox?

asp.net - jQuery 点击消失进入深渊

c# - ASP.NET MVC 的异步 Controller 与多线程

asp-classic - ASP session 变量 : Is "" same as IsEmpty?

asp.net - 在 Tomcat 中访问 : Is it possible to host ASP. NET Web 服务?

javascript - 如何仅使用带有 angularjs 的选项卡打开不同的不同 View html 页面

c# - 如何使用 itextsharp 将页眉和页脚插入现有的 pdf 文档(不覆盖页面的现有内容)

MySQL ODBC 问题 : Data source name not found and no default driver specified