protected override void OnLoad(System.EventArgs e) { base.OnLoad(e); try { // Receive the artifact resolve request. ArtifactResolve artifactResolve = ArtifactResolve.Create(Request); // Get the artifact. Saml2ArtifactType0004 httpArtifact = new Saml2ArtifactType0004(artifactResolve.Artifact.ArtifactValue); // Remove the artifact state from the cache. XmlElement samlResponseXml = (XmlElement)SamlSettings.CacheProvider.Remove(httpArtifact.ToString()); if (samlResponseXml == null) { return; } // Create an artifact response containing the cached SAML message. ArtifactResponse artifactResponse = new ArtifactResponse(); artifactResponse.Issuer = new Issuer(new Uri(Request.Url, ResolveUrl("~/")).ToString()); artifactResponse.Message = samlResponseXml; // Send the artifact response. artifactResponse.Send(Response); } catch (Exception exception) { Trace.Write("ServiceProvider", "An Error occurred", exception); } }
protected void Page_Load(object sender, EventArgs e) { try { // Get the artifact resolve request. ArtifactResolve artifactResolve = ArtifactResolve.Create(Request); // Create a new artifact. Saml2ArtifactType0004 httpArtifact = new Saml2ArtifactType0004(artifactResolve.Artifact.ArtifactValue); // Remove the artifact state from the cache. XmlElement samlResponseXml = (XmlElement)SamlSettings.CacheProvider.Remove(httpArtifact.ToString()); if (samlResponseXml == null) { throw new ApplicationException("Invalid artifact."); } // Create an artifact response containing the cached SAML message. ArtifactResponse artifactResponse = new ArtifactResponse(); artifactResponse.Issuer = new Issuer(Util.GetAbsoluteUrl(this, "~/")); artifactResponse.Message = samlResponseXml; // Send the artifact response. artifactResponse.Send(Response); } catch (Exception exception) { Trace.Write("ServiceProvider", "An Error occurred", exception); } }
protected override void OnLoad(System.EventArgs e) { base.OnLoad(e); try { // Process the artifact resolve request received from the identity provider in response // to the artifact sent by the service provider. ArtifactResolve artifactResolve = ArtifactResolve.Create(Request); // Get the artifact. Saml2ArtifactType0004 httpArtifact = new Saml2ArtifactType0004(artifactResolve.Artifact.ArtifactValue); // Remove the artifact state from the cache. XmlElement artifactXml = (XmlElement)SamlSettings.CacheProvider.Remove(httpArtifact.ToString()); if (artifactXml == null) { return; } // Create an artifact response containing the cached SAML message. ArtifactResponse artifactResponse = new ArtifactResponse(); artifactResponse.Issuer = new Issuer(Util.GetAbsoluteUrl(this, "~/")); artifactResponse.Message = artifactXml; // Send the artifact response. artifactResponse.Send(Response); } catch (System.Exception exception) { Trace.Write("ServiceProvider", "Error in artifact responder", exception); } }
protected override void OnLoad(EventArgs e) { base.OnLoad(e); try { // Create a new Artifact Resolve from the request stream. ArtifactResolve artifactResolve = ArtifactResolve.Create(Request); // Get the ArtifactType0004. Saml2ArtifactType0004 httpArtifact = new Saml2ArtifactType0004(artifactResolve.Artifact.ArtifactValue); // Remove the saved http artifact from the cache. XmlElement samlResponseXml = (XmlElement)SamlSettings.CacheProvider.Remove(httpArtifact.ToString()); if (samlResponseXml == null) { throw new ApplicationException("Invalid artifact."); } // Create an ArtifactResponse. ArtifactResponse artifactResponse = new ArtifactResponse(); Uri uri = new Uri(Request.Url, ResolveUrl("~/")); artifactResponse.Issuer = new Issuer(uri.ToString()); // Add the SAML response XML to the artifact response. artifactResponse.Message = samlResponseXml; // Send the artifact response. artifactResponse.Send(Response); } catch (Exception exception) { Trace.Write("IdentityProvider", "An Error occurred", exception); } }