Identityserver4 如何配置运行在.Net Framework 4.7.1上的mvc客户端,以使用运行在.Net Core上的IdentityServer 4(3.1)进行身份验证
我不知道如何配置运行在.Net Framework 4.7.1上的mvc客户端,以使用运行在.Net Core上的IdentityServer 4(3.1)进行身份验证 我之前已经成功地针对IdentityServer4验证了运行在.net core上的客户端,但没有验证运行在.net Framework上的客户端。很遗憾,我无法将此客户端升级到.net core 基本上,我不确定如何在mvc客户端上执行此操作:Identityserver4 如何配置运行在.Net Framework 4.7.1上的mvc客户端,以使用运行在.Net Core上的IdentityServer 4(3.1)进行身份验证,identityserver4,interactive,.net-framework-version,Identityserver4,Interactive,.net Framework Version,我不知道如何配置运行在.Net Framework 4.7.1上的mvc客户端,以使用运行在.Net Core上的IdentityServer 4(3.1)进行身份验证 我之前已经成功地针对IdentityServer4验证了运行在.net core上的客户端,但没有验证运行在.net Framework上的客户端。很遗憾,我无法将此客户端升级到.net core 基本上,我不确定如何在mvc客户端上执行此操作: public void ConfigureServices(IServiceCol
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
JwtSecurityTokenHandler.DefaultMapInboundClaims = false;
services.AddAuthentication(options =>
{
options.DefaultScheme = "Cookies";
options.DefaultChallengeScheme = "oidc";
})
.AddCookie("Cookies")
.AddOpenIdConnect("oidc", options =>
{
options.Authority = "https://myIdentityServer:4532";
options.ClientId = "MVC_Net_Framework";
options.ClientSecret = "mysecret";
options.ResponseType = "code";
options.Scope.Add("myScope");
options.SaveTokens = true;
});
}
您需要使用OwinStartup类。在项目的根目录中添加分部类启动,如下所示
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using Microsoft.Owin;
using Owin;
using Microsoft.Owin.Cors;
using System.Web.Http;
using System.Web.Mvc;
using System.Configuration;
[assembly: OwinStartup(typeof(MCVAppNet7.Startup))]
namespace MCVAppNet7
{
public partial class Startup
{
public void Configuration(IAppBuilder app)
{
var services = new ServiceCollection();
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;
ConfigureAuth(app);
// For Access-Control-Allow-Origin
app.UseCors(CorsOptions.AllowAll);
}
}
}
在此之后,在“App_Start”文件夹中并在此创建部分启动类中创建一个新文件“Startup.Auth.cs”
using System.Configuration;
using Owin;
using Microsoft.Owin.Security.Cookies;
using IdentityServer3.AccessTokenValidation;
using System;
namespace MCVAppNet7
{
public partial class Startup
{
public void ConfigureAuth(IAppBuilder app)
{
try
{
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = "Cookies"
});
app.UseIdentityServerBearerTokenAuthentication(new IdentityServerBearerTokenAuthenticationOptions
{
Authority = "",
ClientId = "",
AuthenticationType = "Bearer",
RequiredScopes = new[] { "" },
ValidationMode = "",
PreserveAccessToken = true,
RequireHttps = ""
});
}
catch (Exception ex)
{
throw ex;
}
}
}
}
从NuGet安装这些软件包
- Microsoft.Owin
- Microsoft.Owin.Security.OAuth
- Microsoft.Owin.Host.SystemWeb
- 识别模型
- IdentityServer3.Contrib.AccessTokenValidation