我正试图通过OKTA实施SSO。我可以通过
获取SAMLResponse文本string rawSamlData = Request["SAMLResponse"];
通过
将字符串转换为XML格式 if (rawSamlData.Contains("%"))
{
rawSamlData = HttpUtility.UrlDecode(rawSamlData);
}
byte[] samlData = Convert.FromBase64String(rawSamlData);
string samlAssertion = Encoding.UTF8.GetString(samlData);
用户的信息包含在字符串samlAssertion中,例如X509Certificate,FirstName,LastName,Email等。问题是如何检查它是否有效?
答案 0 :(得分:1)
请勿自行解析SAML数据,除非您愿意投入大量时间来确保安全权。
Kentor.AuthServices是一个与Okta兼容的开源.NET SP实现。甚至还有特定的documentation。
答案 1 :(得分:0)
在.NET中不使用WS-Federation进行SSO的任何原因?查看https://msdn.microsoft.com/en-us/library/hh291061(v=vs.110).aspx。要将Okta用于Step 2,您可以create a Template WS-Fed app in Okta并使用“登录”标签下提供的提供的web.config。
如果绝对需要SAML,可以使用一些框架来帮助http://www.componentpro.com/saml.net/。另请查看http://www.twobotechnologies.com/blog/2014/01/sp-init-with-wif.html以获取SP init SAML,并http://travisspencer.com/blog/2010/09/idp-initiated-sso-using-wif.html查看IdP init SAML。
答案 2 :(得分:0)
您可以使用名为mod_auth_mellon的apache模块,而不是与okta集成并处理SAML响应。 以下是install it in ubuntu
的简单步骤