当前位置: 首页 > news >正文

做网站需要ps吗南宁网站建设教学

做网站需要ps吗,南宁网站建设教学,出国留学网站开发,wordpress橫排友情链接如题。使用SAML单点登录对IDP返回的Response断言使用微软提供的Microsoft.IdentityModel.Tokens对断言(Assertion)进行校验。 首先需要安装Muget包,Microsoft.IdentityModel.Tokens和Microsoft.IdentityModel.Tokens.Saml。 简易示例代码如…

 如题。使用SAML单点登录对IDP返回的Response断言使用微软提供的Microsoft.IdentityModel.Tokens对断言(Assertion)进行校验。

首先需要安装Muget包,Microsoft.IdentityModel.Tokens和Microsoft.IdentityModel.Tokens.Saml。

简易示例代码如下:

private X509SecurityKey GetSigningCertificate()
{//SAMLResponse ds:X509Data节点证书信息string samlCertificate = @"MIIC8DCCAdigAwIBAgIQY97pbBoha5tHlCRNbt64bjANBgkqhkiG9w0BAQsFADA0MTIwMAYDVQQDEylNaWNyb3NEiy9NIRqat894uFw2sxSlEe2zOSI1jBQVkI0qu/fAFEG/cK9/SMQ40f8/aLalWU6i2x5k3pslmuf1DN76mCIImBNxGBqtWKkRWZTuxbJ0zay70owDfS4JKsz";byte[] certBytes = Convert.FromBase64String(samlCertificate);X509Certificate2 certificate = new X509Certificate2(certBytes);//如果将证书安装在服务器,也可以调用证书,注意替换证书指纹// 加载用于验证签名的证书//var store = new X509Store(StoreName.My, StoreLocation.LocalMachine);//store.Open(OpenFlags.ReadOnly);//var certs = store.Certificates.Find(X509FindType.FindByThumbprint, "证书指纹", false);//store.Close();//if (certs.Count == 0)//    throw new Exception("Signing certificate not found.");//var key = new X509SecurityKey(certs[0]);var key = new X509SecurityKey(certificate);return key;
}public bool ValidateSamlAssertionSignature()
{string samlAssertion = Request.Form["SAMLResponse"].ToString();byte[] samlResponseBytes = Convert.FromBase64String(samlAssertion);// 将字节数组转换为 XML 文档XmlDocument samlResponseDoc = new XmlDocument();samlResponseDoc.Load(new MemoryStream(samlResponseBytes));// 从 SAML Response 中提取 Assertion 节点XmlNode assertionNode = samlResponseDoc.SelectSingleNode("//*[local-name()='Assertion' and namespace-uri()='urn:oasis:names:tc:SAML:2.0:assertion']");var tokenHandler = new Saml2SecurityTokenHandler();var validationParameters = new TokenValidationParameters{ValidateIssuer = true, // 根据需要设置ValidIssuer = "IDP提供的标识符",//Issuer节点ValidateAudience = false, // 根据需要设置ValidAudience= "你的EntityID",// 从证书存储中获取用于验证签名的证书IssuerSigningKey = GetSigningCertificate(),ValidateLifetime = true // 验证令牌是否在有效期内//以及其他校验点};try{//返回登录者信息,进行下一步处理ClaimsPrincipal securityToken = tokenHandler.ValidateToken(assertionNode.OuterXml, validationParameters, out var rawToken);var samlToken = rawToken as Saml2SecurityToken;// 验证成功,samlToken 包含断言信息,正常应该跳转到登录成功页面return true;}catch (SecurityTokenValidationException){// 验证失败return false;}
}

也可以使用开源的saml库。比如AspNetSaml,ITfoxtec.Identity.Saml2以及Sustainsys.Saml2等

http://www.sczhlp.com/news/52522/

相关文章:

  • 建可收费的网站陕西网络推广网站
  • C++模板
  • C++右值引用,移动语义和完美转发
  • C++异常处理
  • C++智能指针
  • C++杂七杂八小知识和一些基础语法
  • 开一个网站需要什么网站专题建设方案
  • 国际学校网站如何建设毕节建设局网站
  • 云南专业网站建站建设有没有教做化学药品的网站
  • 网上商城网站源码我的网站wordpress
  • 前端文件上传实践
  • C++类型推断和类型推导规则
  • C++各类函数对象
  • C++练习
  • C++面向对象
  • 有关网站建设的知识网站租用服务器多少钱
  • 有哪些网站是中国风网站网站基础功能
  • 工作室网站建设要多大内存嘉定企业网站开发建设
  • 网站建设基础入门网站搜索引擎优化教程
  • 深圳做外贸网站公司哪家好宣传片拍摄合同模板
  • 网站建设需要金额百度云搜索引擎官网
  • 常德网站建设字答科技seo网站关键字优化
  • 有哪些看设计做品的网站网上有哪些正规赚钱的平台
  • 站酷海报设计图片空调维修技术支持东莞网站建设
  • 网站页面设计收费网站搭建设计 是什么意思
  • lrzsz 安装
  • 怎样把域名和做的网站连接不上网站设计基础知识
  • 佛山建网站的公司企业官方网站需要备案吗
  • 网站建设员招聘价格低速度快很多人喜欢来这翻译
  • 网站正能量晚上在线观看网站开发logo