%@ Page Language="C#" ValidateRequest="False" %>
<%@ Import Namespace="Sun.Identity.SAML2" %>
.Net Fedlet Sample
<%
if (Request.HttpMethod.Equals("GET")) {
string idpurl = Request.Params.Get("idp");
if (idpurl == null || idpurl.Length == 0) {
Response.Write("Please specify idpurl as idp query parameter. (Eg http://sa.idp.com:8080/sa): ");
return;
}
string idpssourl = idpurl+"/idpssoinit?NameIDFormat=urn:oasis:names:tc:SAML:2.0:nameid-format:transient&metaAlias=/idp&spEntityID=fedlet&binding=urn:oasis:names:tc:SAML:2.0:binding:HTTP-POST";
//Response.Redirect(idpssourl);
Response.Write("
Click Here To initiate SSO from IDP");
return;
}
// POST
AuthNResponse resp = new AuthNResponse(Request);
if (resp.verify()) {
Response.Write("
SSO is successful : Signature and Assertion are valid. Valid Till (UTC) : "+resp.getValidTill());
Response.Write("
Name Identifier of Subject: "+resp.getSubjectNameID());
Response.Write("
Name Identifier Format: "+resp.getSubjectNameIDFormat());
Response.Write("
Attributes : ");
Hashtable attrs = resp.getAttributeMap(0);
foreach (string s in attrs.Keys) {
Response.Write("
Name="+s+ " Value="+attrs[s]);
}
Response.Write("
AuthNResponse XML : Click To View AuthNResponse");
Response.Write("");
Response.Write("
AuthNStatement XML : Click To View AuthNStatement");
Response.Write("");
Response.Write("
Subject XML : Click To View Subject XML");
Response.Write("");
Response.Write("");
}
else {
Response.Write("
AuthNResponse is NOT valid.");
Response.Write("
Reason:"+resp.getLastError());
}
%>