Loading

Extrahieren von XML-Code der SAML-Behauptung aus einer HAR-Datei

Veröffentlichungsdatum: Nov 19, 2024
Aufgabe

ZIEL

Für die Fehlerbehebung beim SAML-basierten Single-Sign-On (SSO) für die Anypoint Platform müssen oft die Details der SSO-SAML-Behauptung aus der Anforderung extrahiert werden. Dieser Artikel enthält die Schritte zum Extrahieren aus einer erfassten HAR-Datei beim SSO für die Anypoint Platform.
Schritte

Lesen Sie die Sicherheitsrichtlinie für HAR vor dem Erstellen dieser in den nachfolgend genannten unterstützten Browsern

HAR-Dateien (HTTP-Archiv) können sensible Daten, einschließlich Cookies, Authentifizierungstoken und persönliche Daten, enthalten. Diese Daten können zu Sicherheitsrisiken wie Identitätswechsel und nicht autorisiertem Zugriff führen. 

Beim Erstellen einer HAR-Datei müssen Kunden sicherstellen, dass die folgenden Sicherheitsvorkehrungen getroffen werden, bevor die Datei an den Salesforce-Support und Drittanbieter gesendet wird.

  1. Bereinigen: Bereinigen Sie Dateien vor dem Freigeben mithilfe einer HAR-Bereinigung (z. B. HAR-Bereinigung von Cloudflare) oder manuell mit einem Text-Editor, um vertrauliche Informationen unkenntlich zu machen.
  2. Abmelden bei Sitzungen: Wenn Sie nicht auf die Authentifizierung bezogene Probleme untersuchen, melden Sie sich vor dem Aufzeichnen bei allen aktiven Sitzungen ab, um die Sicherheit zu erhöhen und zu vermeiden, dass Token aktiver Sitzungen erfasst werden.
  3. HAR-Hygiene: Behandeln Sie HAR-Dateien als eingeschränkt. Beschränken Sie den Zugriff nur auf entsprechendes Personal und sorgen Sie für eine sichere Speicherung und Übertragung. HAR-Dateien dürfen außerhalb von Salesforce (z. B: chatGPT) niemals unbereinigt hochgeladen werden).

 

Schritt 1: Folgen Sie dem Knowledge-Artikel "Abrufen von HTTP-Archivdateien (HAR)", wenn SSO für die Anypoint Platform ausgeführt wird.

Schritt 2: Sobald die HAR-Datei erfasst wurde, suchen Sie die Anforderung für https://anypoint.mulesoft.com/accounts/login/receive-id und den Wert des Parameters "SAMLResponse", bei dem es sich um eine lange Zeichenfolge handelt.

Beispiel:
 

"request": {
          "method": "POST",
          "url": "https://anypoint.mulesoft.com/accounts/login/receive-id",
          "httpVersion": "HTTP/1.1",
          ...
          "postData": {
            "mimeType": "application/x-www-form-urlencoded",
            "text": "SAMLResponse=PD94b...&RelayState=",
            "params": [
              {
                "name": "SAMLResponse",
                "value": "PD94b..."
              },
              {
                "name": "RelayState",
                "value": ""
              }
            ]
          }
        },


Schritt 3: Kopieren Sie die lange Zeichenfolge und decodieren Sie den URL.


Sie können zum Decodieren https://www.urldecoder.org/ verwenden.


Schritt 4: Kopieren Sie die Zeichenfolge mit dem decodierten URL und decodieren Sie sie mit base64.


Sie können zum Decodieren https://www.base64decode.org/ verwenden.

Bei der Ausgabe handelt es sich um den XML-Code der SAML-Behauptung in einem für Menschen lesbaren Format wie dem folgenden:
<?xml version="1.0" encoding="UTF-8"?>
<saml2p:Response Destination="https://anypoint.mulesoft.com/accounts/login/receive-id" ID="id102899906075521711077394618" IssueInstant="2020-10-06T00:49:08.454Z" Version="2.0" xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">http://www.okta.com/xxxxxxxxxxxxxxxxxxxxx</saml2:Issuer>
	<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
		<ds:SignedInfo>
			<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
			<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
			<ds:Reference URI="#id102899906075521711077394618">
				<ds:Transforms>
					<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
					<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
						<ec:InclusiveNamespaces PrefixList="xs" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
					</ds:Transform>
				</ds:Transforms>
				<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
				<ds:DigestValue>...</ds:DigestValue>
			</ds:Reference>
		</ds:SignedInfo>
		<ds:SignatureValue>...</ds:SignatureValue>
		<ds:KeyInfo>
			<ds:X509Data>
				<ds:X509Certificate>...</ds:X509Certificate>
			</ds:X509Data>
		</ds:KeyInfo>
	</ds:Signature>
	<saml2p:Status xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol">
		<saml2p:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
	</saml2p:Status>
	<saml2:Assertion ID="id102899906076315621983006756" IssueInstant="2020-10-06T00:49:08.454Z" Version="2.0" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xs="http://www.w3.org/2001/XMLSchema">
		<saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">http://www.okta.com/xxxxxxxxxxxxxxxxxxxxx</saml2:Issuer>
		<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
			<ds:SignedInfo>
				<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
				<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
				<ds:Reference URI="#id102899906076315621983006756">
					<ds:Transforms>
						<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
						<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
							<ec:InclusiveNamespaces PrefixList="xs" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
						</ds:Transform>
					</ds:Transforms>
					<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
					<ds:DigestValue>...</ds:DigestValue>
				</ds:Reference>
			</ds:SignedInfo>
			<ds:SignatureValue>...</ds:SignatureValue>
			<ds:KeyInfo>
				<ds:X509Data>
					<ds:X509Certificate>...</ds:X509Certificate>
				</ds:X509Data>
			</ds:KeyInfo>
		</ds:Signature>
		<saml2:Subject xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
			<saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified">sean.li@mulesoft.com</saml2:NameID>
			<saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
				<saml2:SubjectConfirmationData NotOnOrAfter="2020-10-06T00:54:08.454Z" Recipient="https://anypoint.mulesoft.com/accounts/login/receive-id"/>
			</saml2:SubjectConfirmation>
		</saml2:Subject>
		<saml2:Conditions NotBefore="2020-10-06T00:44:08.454Z" NotOnOrAfter="2020-10-06T00:54:08.454Z" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
			<saml2:AudienceRestriction>
				<saml2:Audience>anypoint.mulesoft.com</saml2:Audience>
			</saml2:AudienceRestriction>
		</saml2:Conditions>
		<saml2:AuthnStatement AuthnInstant="2020-10-06T00:49:08.454Z" SessionIndex="id1601945348452.291824165" xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
			<saml2:AuthnContext>
				<saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef>
			</saml2:AuthnContext>
		</saml2:AuthnStatement>
		<saml2:AttributeStatement xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">
			<saml2:Attribute Name="firstname" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
				<saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Sean</saml2:AttributeValue>
			</saml2:Attribute>
			<saml2:Attribute Name="lastname" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
				<saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">Li</saml2:AttributeValue>
			</saml2:Attribute>
			<saml2:Attribute Name="email" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
				<saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">sean.li@mulesoft.com</saml2:AttributeValue>
			</saml2:Attribute>
			<saml2:Attribute Name="group" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:unspecified">
				<saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">...</saml2:AttributeValue>
				<saml2:AttributeValue xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xs:string">...</saml2:AttributeValue>
			</saml2:Attribute>
		</saml2:AttributeStatement>
	</saml2:Assertion>
</saml2p:Response>



 

 

Nummer des Knowledge-Artikels

001115955

 
Laden
Salesforce Help | Article