我想集成SP发起的SAML 2.0 POST。此外,我还需要生成Service Provider的元数据,以便将其共享给我的客户。请大家对此有所了解。示例代码会更有帮助。
发布于 2018-08-17 18:01:18
经过研究,我发现用于C# Web API的Sustainsys.saml2是最好的选择,它几乎不需要编码,并且可以通过配置文件中的配置轻松集成。
因此,为了实现该实现,您需要做以下事情:
中的索引()中
if (User.Identity.IsAuthenticated)
{
var ssotype = WebConfigurationManager.AppSettings["SSOType"];
if (!string.IsNullOrEmpty(ssotype) && ssotype == "onelogin")
{
var email = System.Security.Claims.ClaimsPrincipal.Current.Claims.FirstOrDefault(x => x.Type.Equals("User.email")).Value;
Session["loginUserId"] = email;
}
else
{
var email = System.Security.Claims.ClaimsPrincipal.Current.Claims.FirstOrDefault(x => x.Type.Equals("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress")).Value;
Session["loginUserId"] = email;
}
Response.Redirect("index.html",false);
}
else
{
String redirecturl = null;
var idp = Sustainsys.Saml2.Configuration.SustainsysSaml2Section.Current.IdentityProviders.FirstOrDefault();
var routevalues = new RouteValueDictionary();
routevalues.Add("idp", idp.EntityId);
redirecturl = "~/Saml2/SignIn?idp=" + HttpUtility.UrlEncode(idp.EntityId);
Response.Redirect(redirecturl,false);
}
https://stackoverflow.com/questions/49381613
复制相似问题