tnblog
首页
视频
资源
登录

.net core 3.1 Identity Server4 (添加HTTPS证书)

7100人阅读 2021/1/7 10:59 总访问:3254338 评论:0 收藏:0 手机
分类: Ids4

.netcore

.net core 3.1 Identity Server4 (添加HTTPS证书)

通过Powershell生成X509Certificate2证书

首先找到IdentityServer4授权服务器的工作目录下,并打开Powershell脚本执行如下命令

  1. # 创建自签名证书
  2. $cert = New-SelfSignedCertificate -Subject "CN=证书名称" -CertStoreLocation cert:\CurrentUser\My -Provider "Microsoft Strong Cryptographic Provider"

  1. # 查看所有证书
  2. Get-ChildItem -Path cert:\CurrentUser\My
  3. # 我这里由于证书太多了我就只看我生成的
  4. Get-ChildItem -Path cert:\CurrentUser\My | Where-Object {$_.Subject.Contains("Id")}

  1. # 导出私钥 (我这里是按照我的证书导出的请你注意一下)
  2. $cert = Get-ChildItem -Path cert:\CurrentUser\My | Where-Object {$_.Subject -eq "CN=IdentityServerFourTestCX509"}
  3. # 这里是需要输入自定义用户与密码的
  4. $cred = Get-Credential
  5. Export-PfxCertificate -Cert $cert -Password $cred.Password -FilePath "./my_cert.pfx"


  1. # 如果你要删除证书直接
  2. Remove-Item -Path ("cert:\CurrentUser\My\你的证书ID")

修改IdentityServer4

Startup类中我们进行如下修改,注意如果你的证书密码不对启动时就会报错!

测试运行,我们发现没有任何问题。

在API请求中可以做如下配置

  1. static HttpClientHandler GetHandler()
  2. {
  3. // var cert = new X509Certificate2(certPath, password, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);
  4. var handler = new HttpClientHandler();
  5. handler.ClientCertificateOptions = ClientCertificateOption.Manual;
  6. handler.SslProtocols = (SslProtocols.Tls | SslProtocols.Tls11 | SslProtocols.Tls12 | SslProtocols.Ssl3);
  7. handler.ServerCertificateCustomValidationCallback = (sender, cert, chain, sslPolicyErrors) => true;
  8. return handler;
  9. }
  10. services.Configure<IdentityModelConfig>(configuration.GetSection("Identity_Config"));
  11. // Microsoft.IdentityModel.Logging
  12. //IdentityModelEventSource.ShowPII = true;
  13. services
  14. .AddAuthentication("Bearer")
  15. .AddJwtBearer("Bearer", config =>
  16. {
  17. config.Authority = configuration.GetSection("Identity_Config:Authority").Value; // 授权服务器地址
  18. //确定自己是哪个资源(资源名称)
  19. config.Audience = configuration.GetSection("Identity_Config:Audience").Value;
  20. bool.TryParse(configuration.GetSection("Identity_Config:IsHttps").Value,out var _IsHttps);
  21. bool.TryParse(configuration.GetSection("Identity_Config:ValidateIssuer").Value, out var _ValidateIssuer);
  22. bool.TryParse(configuration.GetSection("Identity_Config:ValidateAudience").Value, out var _ValidateAudience);
  23. // 解决证书问题
  24. config.BackchannelHttpHandler = GetHandler();
  25. config.RequireHttpsMetadata = _IsHttps; // 是否使用https进行通信
  26. //取消验证用户以及验证角色
  27. config.TokenValidationParameters = new Microsoft.IdentityModel.Tokens.TokenValidationParameters()
  28. {
  29. ValidateIssuer = _ValidateIssuer,
  30. ValidateAudience = _ValidateAudience,
  31. //每间隔1分钟去检查Token是否有效
  32. ClockSkew = TimeSpan.FromMinutes(30),
  33. //要求运行有超时时间
  34. RequireExpirationTime = true,
  35. };

欢迎加群讨论技术,1群:677373950(满了,可以加,但通过不了),2群:656732739

评价

类型“DbSet”在未引用的程序集中定义。必须添加对程序集“EntityFramework Version=5.0.0.0 Culture=neutral PublicKeyToken=b7

在用mvc+ef的时候在DAL层引用上下文信息的时候会报出下面错误其实就是没得EntityFromwork,打开vs项目,点击工具,选择NuGe...

动态生成表格批量添加再使用ajax提交后台

&lt;!DOCTYPE html&gt;&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;&lt;head&gt; &lt;meta http-equiv=&...

百度编辑器添加事件

添加点击与失去焦点事件://添加点击事件 ue.addListener(&quot;click&quot;,function(){ alert(&quot;点击&quot;); }) ...

Layui Select添加选择事件Layui 下拉列表

html&lt;selectname=&quot;label&quot;id=&quot;atype&quot;lay-filter=&quot;atype&quot;&gt; &lt;optionvalue=&quot;a&q...

解决VS2017添加引用失败问题

VS2017添加引用失败 ,报错:找不到 Microsoft.VisualStudio.Shell.Interop.IVsReferenceManager 服务的实例一:打开vs2017...

ef6动态添加条件

例如我们要匹配一个集合中的所有关键字,我们首先想到的做法是这样的publicList&lt;Article&gt;GetArtByKeys(List&lt;strin...

Sqlerver添加用户与授权

添加用户安全性--&gt;登录名,然后右键新建登录名就可以了然后填写好相关信息就可以了右键属性,用户映射可以选择该用户可...

C ADO.net基本添加操作

C# ADO.NET基本添加操作publicboolRegister(UserInfoui) { using(SqlConnectionconn=newSqlConnection(&quot;server=.;ui...

解决xml添加新元素问题

最近遇到一个xml在末尾添加节点报错问题,如下图!网上搜了一下解决方式如下

jQuery—为动态添加的元素绑定事件

我们在使用jQuery的时候总会遇到形形色色的问题在jQuery的元素绑定事件中,我通常使用click来绑定单击事件,但是这个只能绑...

添加缓存区提升计算机的读写性能

哈喽,大家好,我是刘小贱。今天呢,刘小贱给大家分享一款运行在windoes系统上的神器软件,软件名:PrimoCache这款软件呢是通...

七牛云添加对象存储

上一篇我们是注册然后第一次使用七牛云的cdn,添加成功一次后我们可以在添加一个点击对象存储然后点击新建存储空间然后添加...

将程序集添加到缓存失败: 系统找不到指定的文件。vs2017添加引用失败

vs2017添加引用失败。将程序集添加到缓存失败: 系统找不到指定的文件这个是因为缺少相应的dll,也就是microsoft.visualstud...

VS2017 .net core web项目 添加引用 报错

VS2017 .net core web项目 添加引用 报错 vs2017添加引用时报错未能正确加载“ReferenceManagerPackage”包第一步:找到以...

小程序html解析如:后台添加的文章详情

项目中遇到在微信小程序里需要显示音乐文章的内容,文章内容是通过接口读取的服 务器中的富文本内容,是html格式的,小程序...
这一世以无限游戏为使命!
排名
2
文章
620
粉丝
44
评论
93
docker中Sware集群与service
尘叶心繁 : 想学呀!我教你呀
一个bug让程序员走上法庭 索赔金额达400亿日元
叼着奶瓶逛酒吧 : 所以说做程序员也要懂点法律知识
.net core 塑形资源
剑轩 : 收藏收藏
映射AutoMapper
剑轩 : 好是好,这个对效率影响大不大哇,效率高不高
ASP.NET Core 服务注册生命周期
剑轩 : http://www.tnblog.net/aojiancc2/article/details/167
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术