Anhang A. Ansprache der Services über Webservice-Schnittstellen

Inhaltsverzeichnis

A.1. Einleitung
A.2. Hinweise
A.3. Ablauf einer Kommunikation
A.3.1. Schritt 1: Beschaffung eines Authentifizierungstokens vom Security Token Server (STS)
A.3.2. Schritt 2: Nutzung eines geöffneten Services unter Angabe des Authentifizierungstokens
A.4. Umgebungskonstanten
A.5. Service-Endpunkte
A.6. WSDL-Dateien

A.1. Einleitung

Sollte für eine Programmiersprache kein SDK zur Verfügung stehen, so können die Webservice-Schnittstellen eines Services direkt angesprochen werden. Auf diese direkte Ansprache wird in den folgenden Abschnitten näher eingegangen.

Für die Programmiersprachen Java / PHP und für das .NET-Framework wird allerdings dringend die Nutzung der bereitgestellten SDKs empfohlen.

TOP

A.2. Hinweise

Es ist dringend darauf zu achten, dass die weitergeleiteten Bestandteile der SOAP-Nachrichten - insbesondere der Security-Token - nicht verändert werden. Eingefügte Zeilenumbrüche oder Tabulatoren würden zu Fehlern in den Aufrufen führen.

Zur verbesserten Lesbarkeit dieser Dokumentation wurden die nachfolgenden Beispielnachrichten formatiert. In dieser Form könnten die Nachrichten nicht vom Server verarbeitet werden.

TOP

A.3. Ablauf einer Kommunikation

Die ausgetauschten SOAP-Nachrichten nutzen beim direkten Zugriff über Webservice-Schnittstellen einen Teil der in WS-Security (Definition) definierten Elemente, insbesondere Token-Authentifizierung.

Die Nutzung der Dienste per Webservice-Schnittstelle läuft nach folgendem Schema ab:

  1. Beschaffung eines Authentifizierungstokens vom Security Token Server (STS)

  2. Nutzung eines geöffneten Services unter Angabe dieses Authentifizierungstokens

TOP

A.3.1. Schritt 1: Beschaffung eines Authentifizierungstokens vom Security Token Server (STS)

Der Login wird durch die SOAP-Nachricht login realisiert, welche an den STS geschickt wird. Benutzername und Passwort werden hierbei im Klartext im SOAP-Header der Nachricht als WS-Security UsernameToken angegeben:

 

Beispiel A.1. Login-Nachricht

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://sts.idm.telekom.com/schema/" xmlns:ns2="Security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <SOAP-ENV:Header>
        <Security xmlns="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" SOAP-ENV:mustUnderstand="1">
            <UsernameToken>
                <Username></Username>
                <Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText"></Password>
            </UsernameToken>
        </Security>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        <ns1:login/>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Benutzername im Format Benutzername@t-online.de

Passwort (im Klartext)

 

Als Antwort wird ein intermediärer Token empfangen, welcher zur Anforderung des tatsächlichen Authentifizierungstokens verwendet wird.

 

Beispiel A.2. Login-Antwortnachricht inkl. intermediärem Token

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
        <loginResponse xmlns="http://sts.idm.telekom.com/schema/">
            <tokenFormat>saml20</tokenFormat>
            <tokenEncoding>text/xml</tokenEncoding>
            <tokenData>
                <Assertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:idm="http://token.idm.telekom.com/saml/assertion/extension" xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance" ID="STS-2833acc1-c9e1-497a-bd83-2dace2270b57" IssueInstant="2008-11-27T18:02:27.757+01:00" Version="2.0"
xsi:schemaLocation="urn:oasis:names:tc:SAML:2.0:assertion http://docs.oasis-open.org/security/saml/v2.0/saml-schema-assertion-2.0.xsd">
                    <Issuer>http://samsts.t-online.com/samsts</Issuer>
                    <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                        <ds:SignedInfo>
                            <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod>
                            <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"></ds:SignatureMethod>
                            <ds:Reference URI="">
                                <ds:Transforms>
                                    <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform>
                                    <ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"></ds:Transform>
                                </ds:Transforms>
                                <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
                                <ds:DigestValue>sdsni818L1ZKtL+7t+T8vwMxG+8=</ds:DigestValue>
                            </ds:Reference>
                        </ds:SignedInfo>
                        <ds:SignatureValue>oT5xz6vVlXji18JuBNWSFSHou60=</ds:SignatureValue>
                    </ds:Signature>
                    <Subject>
                        <EncryptedID>
                            <xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
                                <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
                                <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                                    <ds:RetrievalMethod URI="#STS-30fcb78f-d793-4bd9-a53e-a46ebeb3a0b5"></ds:RetrievalMethod>
                                </ds:KeyInfo>
                                <xenc:CipherData>
                                    <xenc:CipherValue>IbeTMLMNrpmoXoycOtm30gQN1o1/86ZIT/Ulb1QYKJBb3HaBcdKGvgilnHU3fBJpFfEmseD3mOioo1huWUBopdLsr
                                    KRgRIkE0uqlE8N6B2/FL/1VwpabWiP1pd9cu9d56NYotIOT/ANbvHrM8cdUI348MfqbwfkIE8vxJgwOVVOgh2cPlNWxjKE3zkY7m+O5ShDg
                                    MP+eKVMWjLs/U0nDGs92H2RSlYnEZbY3xJ06v3JZDQ9vPpIILbBB84s55N4aqicfZD6TMjUA4awLNv020zh/YiUU/ZFOm2zjiX7r3nHA4he
                                    48yvroi5BPgQGMjF4dZpofZ+4uo/QSferYJm9zL16qs2O42I7RfT4bYYZemL+qkDHSqLvo2D
                                    2QgkHe/x8I7Q1xgiFECJ8znz6MK0osw==</xenc:CipherValue>
                                </xenc:CipherData>
                            </xenc:EncryptedData>
                            <xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="STS-30fcb78f-d793-4bd9-a53e-a46ebeb3a0b5">
                                <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#kw-aes256"></xenc:EncryptionMethod>
                                <xenc:CipherData>
                                    <xenc:CipherValue>PQ3lTTNhR3LNF++emRDfOaYOH1SK+CaUau4BYoJEWS8DMW1mybJy8A==</xenc:CipherValue>
                                </xenc:CipherData>
                            </xenc:EncryptedKey>
                        </EncryptedID>
                        <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"></SubjectConfirmation>
                    </Subject>
                    <Conditions NotBefore="2008-11-27T18:02:27.771+01:00" NotOnOrAfter="2008-11-28T02:02:27.771+01:00">
                        <AudienceRestriction>
                            <Audience>http://samsts.t-online.com/samsts</Audience>
                        </AudienceRestriction>
                    </Conditions>
                    <AuthnStatement AuthnInstant="2008-11-27T18:02:27.752+01:00">
                        <AuthnContext>
                            <AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</AuthnContextClassRef>
                        </AuthnContext>
                    </AuthnStatement>
                </Assertion>
            </tokenData>
        </loginResponse>
    </soapenv:Body>
</soapenv:Envelope>

 

Nun wird der intermediäre Token als WS-Security - Information in der nächsten SOAP-Nachricht im SOAP-Header eingebunden. Die Nachricht getTokens dient der Anforderung des tatsächlichen Authentifizierungstokens unter Angabe des Zielsystems - bei den geöffneten Services immer "https://odg.t-online.de".

 

Beispiel A.3. Anforderung des Security-Tokens unter Angabe des intermediären Tokens

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://sts.idm.telekom.com/schema/" xmlns:ns2="Security"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <SOAP-ENV:Header>
        <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" SOAP-ENV:mustUnderstand="1">
            <Assertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:idm="http://token.idm.telekom.com/saml/assertion/extension" xmlns:xsi
             ="http://www.w3.org/2001/XMLSchema-instance" ID="STS-2833acc1-c9e1-497a-bd83-2dace2270b57" IssueInstant="2008-11-27T18:02:27.757+01:00"
             Version="2.0" xsi:schemaLocation="urn:oasis:names:tc:SAML:2.0:assertion http://docs.oasis-open.org/security/saml/v2.0/saml-schema-assertion-2.0.xsd">
                <Issuer>http://samsts.t-online.com/samsts</Issuer>
                <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                    <ds:SignedInfo>
                        <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod>
                        <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"></ds:SignatureMethod>
                        <ds:Reference URI="">
                            <ds:Transforms>
                                <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform>
                                <ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"></ds:Transform>
                            </ds:Transforms>
                            <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
                            <ds:DigestValue>sdsni818L1ZKtL+7t+T8vwMxG+8=</ds:DigestValue>
                        </ds:Reference>
                    </ds:SignedInfo>
                    <ds:SignatureValue>oT5xz6vVlXji18JuBNWSFSHou60=</ds:SignatureValue>
                </ds:Signature>
                <Subject>
                    <EncryptedID>
                        <xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
                            <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
                            <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                                <ds:RetrievalMethod URI="#STS-30fcb78f-d793-4bd9-a53e-a46ebeb3a0b5"></ds:RetrievalMethod>
                            </ds:KeyInfo>
                            <xenc:CipherData>
                                <xenc:CipherValue>IbeTMLMNrpmoXoycOtm30gQN1o1/86ZIT/Ulb1QYKJBb3HaBcdKGvgilnHU3fBJpFfEmseD3mOioo1huWUBopdLsrKRgRIkE0uqlE8N6B2/FL
                                /1VwpabWiP1pd9cu9d56NYotIOT/ANbvHrM8cdUI348MfqbwfkIE8vxJgwOVVOgh2cPlNWxjKE3zkY7m+O5ShDgMP+eKVMWjLs/U0nDGs92H2RSlYnEZbY3xJ06v3JZ
                                DQ9vPpIILbBB84s55N4aqicfZD6TMjUA4awLNv020zh/YiUU/ZFOm2zjiX7r3nHA4he48yvroi5BPgQGMjF4dZpofZ+4uo/QSferYJm9zL16qs2O42I7RfT4bYYZemL
                                +qkDHSqLvo2D2QgkHe/x8I7Q1xgiFECJ8znz6MK0osw==</xenc:CipherValue>
                            </xenc:CipherData>
                        </xenc:EncryptedData>
                        <xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="STS-30fcb78f-d793-4bd9-a53e-a46ebeb3a0b5">
                            <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#kw-aes256"></xenc:EncryptionMethod>
                            <xenc:CipherData>
                                <xenc:CipherValue>PQ3lTTNhR3LNF++emRDfOaYOH1SK+CaUau4BYoJEWS8DMW1mybJy8A==</xenc:CipherValue>
                            </xenc:CipherData>
                        </xenc:EncryptedKey>
                    </EncryptedID>
                    <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"></SubjectConfirmation>
                </Subject>
                <Conditions NotBefore="2008-11-27T18:02:27.771+01:00" NotOnOrAfter="2008-11-28T02:02:27.771+01:00">
                    <AudienceRestriction>
                        <Audience>http://samsts.t-online.com/samsts</Audience>
                    </AudienceRestriction>
                </Conditions>
                <AuthnStatement AuthnInstant="2008-11-27T18:02:27.752+01:00">
                    <AuthnContext>
                        <AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</AuthnContextClassRef>
                    </AuthnContext>
                </AuthnStatement>
            </Assertion>
        </wsse:Security>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        <ns1:getTokens>
            <ns1:serviceId>https://odg.t-online.de</ns1:serviceId>
        </ns1:getTokens>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

 

Die Antwortnachricht getTokensResponse enthält den endgültigen Authentifizierungstoken, welcher für die Aufrufe der geöffneten Services verwendet wird.

 

Beispiel A.4. Antwortnachricht mit Authentifizierungstoken

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
        <getTokensResponse xmlns="http://sts.idm.telekom.com/schema/">
            <securityToken>
                <tokenFormat>saml20</tokenFormat>
                <tokenEncoding>text/xml</tokenEncoding>
                <tokenData>
                    <Assertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:idm="http://token.idm.telekom.com/saml/assertion/extension" xmlns:xsi=
                    "http://www.w3.org/2001/XMLSchema-instance" ID="STS-65128667-ed19-4064-9c85-dc5e49fcfbdf" IssueInstant="2008-11-27T18:02:29.804+01:00"
                    Version="2.0" xsi:schemaLocation="urn:oasis:names:tc:SAML:2.0:assertion http://docs.oasis-open.org/security/saml/v2.0/saml-schema-assertion-2.0.xsd">
                        <Issuer>http://samsts.t-online.com/samsts</Issuer>
                        <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                            <ds:SignedInfo>
                                <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod>
                                <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"></ds:SignatureMethod>
                                <ds:Reference URI="">
                                    <ds:Transforms>
                                        <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform>
                                        <ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"></ds:Transform>
                                    </ds:Transforms>
                                    <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
                                    <ds:DigestValue>YxVopyw4SuqpyZtri7PkpFkGrdI=</ds:DigestValue>
                                </ds:Reference>
                            </ds:SignedInfo>
                            <ds:SignatureValue>F3bQURfpRCp6JkxonmWv8grMhrk=</ds:SignatureValue>
                        </ds:Signature>
                        <Subject>
                            <EncryptedID>
                                <xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
                                    <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
                                    <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                                        <ds:RetrievalMethod URI="#STS-935a2098-533d-4e29-b9a9-428cbec89ca7"></ds:RetrievalMethod>
                                    </ds:KeyInfo>
                                    <xenc:CipherData>
                                        <xenc:CipherValue>N0bAwIYFF1GkxSFLO4DIU1lcwoLQV0OW3hA912MrVTy9pifF2ClgamxifE+VfhSBJ4tobGyZaxbpz1fccYBljw1Szw4oETLPAe1zAbH41wQxMG
                                        SVfm0TueRHm4MlR5VlYhBp0Cbt0/cb5w/kE25+Wsn/DblCt8+FD0vrrhAFEqp2zHH2OAOVCmNq/sCFmhjPYldilWr59ov12+nwcGOVgyHVHCyMcDWWQaGvmpTB0DBWtV
                                        +bL88XMZcYEECYbILuYvaH1rnGRtbYbeVApvImbF/tRQC9Yo+z9/nllWnvs4dU21Le3k6VXCI8vooKpXFWhXnobBk5nKlXjHdD9iaw2dkGxqbctj1BuDTlmOpbUCq5Fl
                                        e89oBCzmKPvmJiYrFy1N0DUdSxlCuY68g8fB3FOg==</xenc:CipherValue>
                                    </xenc:CipherData>
                                </xenc:EncryptedData>
                                <xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="STS-935a2098-533d-4e29-b9a9-428cbec89ca7">
                                    <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#kw-aes256"></xenc:EncryptionMethod>
                                    <xenc:CipherData>
                                        <xenc:CipherValue>x4dBZ2cWeOJoiD1G2aGZdOdFMSTXvTj9LyKOattwPUfocyc/se+dpg==</xenc:CipherValue>
                                    </xenc:CipherData>
                                </xenc:EncryptedKey>
                            </EncryptedID>
                            <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"></SubjectConfirmation>
                        </Subject>
                        <Conditions NotBefore="2008-11-27T18:02:29.820+01:00" NotOnOrAfter="2008-11-28T02:02:29.820+01:00">
                            <AudienceRestriction>
                                <Audience>https://odg.t-online.de</Audience>
                            </AudienceRestriction>
                        </Conditions>
                        <AuthnStatement AuthnInstant="2008-11-27T18:02:29.580+01:00">
                            <AuthnContext>
                                <AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</AuthnContextClassRef>
                            </AuthnContext>
                        </AuthnStatement>
                        <AttributeStatement>
                            <EncryptedAttribute>
                                <xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
                                    <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
                                    <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                                        <ds:RetrievalMethod URI="#STS-935a2098-533d-4e29-b9a9-428cbec89ca7"></ds:RetrievalMethod>
                                    </ds:KeyInfo>
                                    <xenc:CipherData>
                                        <xenc:CipherValue>ra+1ReZipEFMS5S/b0z/3DvUAK086SmhahOJSsSayn2a0Z7NngUVo1oGn/DLrBJVnKDC8zkzHUXPZQG2Q2lFpOjegDyNu7YvkzWbiJf0vrcg
                                        93hU5906HSOZ7b+woCH6RADg8Ws7ffLb+G19NAH0Zm5C5j/0s//YwXMubeiqro243AssaRYNms8sBe7IavkgHjVSen4kiMPc3N4MXXCgLc6l73wetSk9zng3YZO7Yk
                                        Ps1j+SfUNzQomizlHglyf0NSGaMVYU/hTHtClDueBX3YD2S3tRqyqUE838y1vfoOBTzHjOdiG4s0Q8p2yE+QTj0Vcnj3vstouX+1KJjol4vkmdXlx9O7XuY6hhq6h2
                                        pyPIQk8hgHX7VRh71mC5EA9Ko/svn3VTdAj/s3bofei2JPpxp70nBrP6MamWtc/S8YM=</xenc:CipherValue>
                                    </xenc:CipherData>
                                </xenc:EncryptedData>
                            </EncryptedAttribute>
                            <EncryptedAttribute>
                                <xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
                                    <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
                                    <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                                        <ds:RetrievalMethod URI="#STS-935a2098-533d-4e29-b9a9-428cbec89ca7"></ds:RetrievalMethod>
                                    </ds:KeyInfo>
                                    <xenc:CipherData>
                                        <xenc:CipherValue>8h2HqQ0qZxWXcJKzZ+klHkJxZa/3J2eXo3gR3O+oNQniPjBSujLDY4PDasDw/HOWt8UTyxfuP0M465JQvcyDvtZ+OyeQJnFxMl5KBu1vuIoZBXqXy0pyOEbWNKqnTu5GcKp+2Plh1Cx4mRX39id3XZPWZsL1o+JphDrS3Soi8f/LwCo1fQmzQU+qTK4OwOEa0F9P0BxVsypOX6ooampS8uNVM/B/lLIo9EDGhyUEbqvxG385ety6HkctOdUGEDfjEcpWdwqxsWQ6ehZRUuuipXkVGOhgIR/VAhSo4KYVwWZkJcY8i+vrpi69n/dXmAvb518oblszXKbU1LgFDHFjaJMD8ohVZXcrJ0f3dNLTZMkb4/VXeA7V/y3GYNnpl957vTEQhEd16qc42NdTOj//31BcPZLOeVu13lQ/r77J5LtZ3Di2ncjbtEu8I/HeMzuj</xenc:CipherValue>
                                    </xenc:CipherData>
                                </xenc:EncryptedData>
                            </EncryptedAttribute>
                            <EncryptedAttribute>
                                <xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
                                    <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
                                    <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                                        <ds:RetrievalMethod URI="#STS-935a2098-533d-4e29-b9a9-428cbec89ca7"></ds:RetrievalMethod>
                                    </ds:KeyInfo>
                                    <xenc:CipherData>
                                        <xenc:CipherValue>CxIgJ7WD/WB/qILsqHs9ptlVS/nmpP8Db+PaI1qg7aAh8WF+LqZSpnKo6bJ281deW7rQcUvcGsW1bca1Kq4M+p+65uymyxqzmaqdE8wM3s8KtjmP/6F9yXoQA5tSsmpZSl4U5xnxb/wNQ+uR02z0ybbcH2M/9waLOrbz4DfPn+M1ex4csfJG7SkLipf855my/w22pl5sZXmEXeagxKXrpMx4x0oawA8UKbjsCCFJLjY5GwVpPHvs2E89YRraqBo1pimRRXR6K/v63wGj5r8QSf2F9jSFxNBmUriuiYE/ox334Z/cqmoW/gKJ4W4HALhNJqMaqhhdfwOyfxmpSRAW5LySl18OhmCILkvabyqDOfsuajem7TtZDxkm2ecKQFih+scBbfhuW62y7F7dMlNR5Ec/zjg9ApxfwmKd7MxsL+xW9OFo8eH9YlPAmKkh3D0I</xenc:CipherValue>
                                    </xenc:CipherData>
                                </xenc:EncryptedData>
                            </EncryptedAttribute>
                            
                       </AttributeStatement>
                    </Assertion>
                </tokenData>
            </securityToken>
        </getTokensResponse>
    </soapenv:Body>
</soapenv:Envelope>

Hierauf folgen 43 weitere EncryptedAttribute-Nodes, auf deren Darstellung zwecks Übersichtlichkeit verzichtet wurde

 

TOP

A.3.2. Schritt 2: Nutzung eines geöffneten Services unter Angabe des Authentifizierungstokens

Das vom STS empfangene Authentifizierungstoken kann nun verwendet werden, um beliebige Services des Open Development Gateways (ODG) aufzurufen. Der Authentifizierungstoken wird dabei in jeder Nachricht an das ODG im SOAP-Header eingebunden.

Hier wird exemplarisch ein Aufruf des Quota-Verwaltungsservices dargestellt:

 

Beispiel A.5. Aufruf des Quota-Verwaltungsservices mit eingebundenem Authentifizierungstoken

<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://odg.tonline.de/ODGBaseUserService/" xmlns:ns2="Security" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns3="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <SOAP-ENV:Header>
        <wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" SOAP-ENV:mustUnderstand="1">
            <Assertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:idm="http://token.idm.telekom.com/saml/assertion/extension" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ID="STS-65128667-ed19-4064-9c85-dc5e49fcfbdf" IssueInstant="2008-11-27T18:02:29.804+01:00" Version="2.0" xsi:schemaLocation="urn:oasis:names:tc:SAML:2.0:assertion http://docs.oasis-open.org/security/saml/v2.0/saml-schema-assertion-2.0.xsd">
                <Issuer>http://samsts.t-online.com/samsts</Issuer>
                <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                    <ds:SignedInfo>
                        <ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod>
                        <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#hmac-sha1"></ds:SignatureMethod>
                        <ds:Reference URI="">
                            <ds:Transforms>
                                <ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform>
                                <ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"></ds:Transform>
                            </ds:Transforms>
                            <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
                            <ds:DigestValue>YxVopyw4SuqpyZtri7PkpFkGrdI=</ds:DigestValue>
                        </ds:Reference>
                    </ds:SignedInfo>
                    <ds:SignatureValue>F3bQURfpRCp6JkxonmWv8grMhrk=</ds:SignatureValue>
                </ds:Signature>
                <Subject>
                    <EncryptedID>
                        <xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
                            <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
                            <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                                <ds:RetrievalMethod URI="#STS-935a2098-533d-4e29-b9a9-428cbec89ca7"></ds:RetrievalMethod>
                            </ds:KeyInfo>
                            <xenc:CipherData>
                                <xenc:CipherValue>N0bAwIYFF1GkxSFLO4DIU1lcwoLQV0OW3hA912MrVTy9pifF2ClgamxifE+VfhSBJ4tobGyZaxbpz1fccYBljw1Szw4oETLPAe1zAbH41wQxMGSVfm0TueRHm4MlR5VlYhBp0Cbt0/cb5w/kE25+Wsn/DblCt8+FD0vrrhAFEqp2zHH2OAOVCmNq/sCFmhjPYldilWr59ov12+nwcGOVgyHVHCyMcDWWQaGvmpTB0DBWtV+bL88XMZcYEECYbILuYvaH1rnGRtbYbeVApvImbF/tRQC9Yo+z9/nllWnvs4dU21Le3k6VXCI8vooKpXFWhXnobBk5nKlXjHdD9iaw2dkGxqbctj1BuDTlmOpbUCq5Fle89oBCzmKPvmJiYrFy1N0DUdSxlCuY68g8fB3FOg==</xenc:CipherValue>
                            </xenc:CipherData>
                        </xenc:EncryptedData>
                        <xenc:EncryptedKey xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Id="STS-935a2098-533d-4e29-b9a9-428cbec89ca7">
                            <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#kw-aes256"></xenc:EncryptionMethod>
                            <xenc:CipherData>
                                <xenc:CipherValue>x4dBZ2cWeOJoiD1G2aGZdOdFMSTXvTj9LyKOattwPUfocyc/se+dpg==</xenc:CipherValue>
                            </xenc:CipherData>
                        </xenc:EncryptedKey>
                    </EncryptedID>
                    <SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"></SubjectConfirmation>
                </Subject>
                <Conditions NotBefore="2008-11-27T18:02:29.820+01:00" NotOnOrAfter="2008-11-28T02:02:29.820+01:00">
                    <AudienceRestriction>
                        <Audience>https://odg.t-online.de</Audience>
                    </AudienceRestriction>
                </Conditions>
                <AuthnStatement AuthnInstant="2008-11-27T18:02:29.580+01:00">
                    <AuthnContext>
                        <AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</AuthnContextClassRef>
                    </AuthnContext>
                </AuthnStatement>
                <AttributeStatement>
                    <EncryptedAttribute>
                        <xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
                            <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
                            <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                                <ds:RetrievalMethod URI="#STS-935a2098-533d-4e29-b9a9-428cbec89ca7"></ds:RetrievalMethod>
                            </ds:KeyInfo>
                            <xenc:CipherData>
                                <xenc:CipherValue>ra+1ReZipEFMS5S/b0z/3DvUAK086SmhahOJSsSayn2a0Z7NngUVo1oGn/DLrBJVnKDC8zkzHUXPZQG2Q2lFpOjegDyNu7YvkzWbiJf0vrcg93hU5906HSOZ7b+woCH6RADg8Ws7ffLb+G19NAH0Zm5C5j/0s//YwXMubeiqro243AssaRYNms8sBe7IavkgHjVSen4kiMPc3N4MXXCgLc6l73wetSk9zng3YZO7YkPs1j+SfUNzQomizlHglyf0NSGaMVYU/hTHtClDueBX3YD2S3tRqyqUE838y1vfoOBTzHjOdiG4s0Q8p2yE+QTj0Vcnj3vstouX+1KJjol4vkmdXlx9O7XuY6hhq6h2pyPIQk8hgHX7VRh71mC5EA9Ko/svn3VTdAj/s3bofei2JPpxp70nBrP6MamWtc/S8YM=</xenc:CipherValue>
                            </xenc:CipherData>
                        </xenc:EncryptedData>
                    </EncryptedAttribute>
                    <EncryptedAttribute>
                        <xenc:EncryptedData xmlns:xenc="http://www.w3.orgf/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
                            <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
                            <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                                <ds:RetrievalMethod URI="#STS-935a2098-533d-4e29-b9a9-428cbec89ca7"></ds:RetrievalMethod>
                            </ds:KeyInfo>
                            <xenc:CipherData>
                                <xenc:CipherValue>8h2HqQ0qZxWXcJKzZ+klHkJxZa/3J2eXo3gR3O+oNQniPjBSujLDY4PDasDw/HOWt8UTyxfuP0M465JQvcyDvtZ+OyeQJnFxMl5KBu1vuIoZBXqXy0pyOEbWNKqnTu5GcKp+2Plh1Cx4mRX39id3XZPWZsL1o+JphDrS3Soi8f/LwCo1fQmzQU+qTK4OwOEa0F9P0BxVsypOX6ooampS8uNVM/B/lLIo9EDGhyUEbqvxG385ety6HkctOdUGEDfjEcpWdwqxsWQ6ehZRUuuipXkVGOhgIR/VAhSo4KYVwWZkJcY8i+vrpi69n/dXmAvb518oblszXKbU1LgFDHFjaJMD8ohVZXcrJ0f3dNLTZMkb4/VXeA7V/y3GYNnpl957vTEQhEd16qc42NdTOj//31BcPZLOeVu13lQ/r77J5LtZ3Di2ncjbtEu8I/HeMzuj</xenc:CipherValue>
                            </xenc:CipherData>
                        </xenc:EncryptedData>
                    </EncryptedAttribute>
                    <EncryptedAttribute>
                        <xenc:EncryptedData xmlns:xenc="http://www.w3.org/2001/04/xmlenc#" Type="http://www.w3.org/2001/04/xmlenc#Element">
                            <xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc"></xenc:EncryptionMethod>
                            <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
                                <ds:RetrievalMethod URI="#STS-935a2098-533d-4e29-b9a9-428cbec89ca7"></ds:RetrievalMethod>
                            </ds:KeyInfo>
                            <xenc:CipherData>
                                <xenc:CipherValue>CxIgJ7WD/WB/qILsqHs9ptlVS/nmpP8Db+PaI1qg7aAh8WF+LqZSpnKo6bJ281deW7rQcUvcGsW1bca1Kq4M+p+65uymyxqzmaqdE8wM3s8KtjmP/6F9yXoQA5tSsmpZSl4U5xnxb/wNQ+uR02z0ybbcH2M/9waLOrbz4DfPn+M1ex4csfJG7SkLipf855my/w22pl5sZXmEXeagxKXrpMx4x0oawA8UKbjsCCFJLjY5GwVpPHvs2E89YRraqBo1pimRRXR6K/v63wGj5r8QSf2F9jSFxNBmUriuiYE/ox334Z/cqmoW/gKJ4W4HALhNJqMaqhhdfwOyfxmpSRAW5LySl18OhmCILkvabyqDOfsuajem7TtZDxkm2ecKQFih+scBbfhuW62y7F7dMlNR5Ec/zjg9ApxfwmKd7MxsL+xW9OFo8eH9YlPAmKkh3D0I</xenc:CipherValue>
                            </xenc:CipherData>
                        </xenc:EncryptedData>
                    </EncryptedAttribute>
                    
                </AttributeStatement>
            </Assertion>
        </wsse:Security>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
        <ns1:getQuotaInformation>
            <moduleId>VoiceButlerProduction</moduleId>
        </ns1:getQuotaInformation>
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Hierauf folgen die 43 weiteren EncryptedAttribute-Nodes des Authentifizierungstokens

 

Die Antwortnachricht entspricht dem GetQuotaInformationResponse - Objekts.

 

Beispiel A.6. Antwortnachricht: getQuotaInformationResponse

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body>
        <getQuotaInformationResponse xmlns="http://odg.tonline.de/ODGBaseUserService/">
            <errorCode xmlns="">0000</errorCode>
            <errorMessage xmlns="">the request was successfull</errorMessage>
            <maxQuota xsi:type="xsd:int" xmlns="">1000000</maxQuota>
            <maxUserQuota xmlns="">1000000</maxUserQuota>
            <quotaLevel xsi:type="xsd:int" xmlns="">0</quotaLevel>
        </getQuotaInformationResponse>
    </soapenv:Body>
</soapenv:Envelope>

TOP

A.4. Umgebungskonstanten

Innerhalb der SDKs stehen für die Identifikation der Umgebungen Konstanten zur Verfügung. Diese müssen beim Aufruf per Webservice-Schnittstelle als Integer-Wert angegeben werden:

 

Tabelle A.1. Umgebungskonstanten

Umgebung Konstante für diese Umgebung
Produktionsumgebung1
Sandbox-Umgebung2
Mock-Umgebung3

 

TOP

A.5. Service-Endpunkte

 

Tabelle A.2. Endpunkte der Open-Development-Services

ParameterBedeutung
Token Servicehttps://sts.idm.telekom.com/TokenService
Quota-Servicehttps://gateway.developer.telekom.com/p3gw-mod-odg-admin/services/ODGBaseUserService
Voice-Call-Servicehttps://gateway.developer.telekom.com/p3gw-mod-odg-voicebutler/services/VoiceButlerService
Conference Call-Servicehttps://gateway.developer.telekom.com/p3gw-mod-odg-ccs/services/ccsPort
SMS-Servicehttps://gateway.developer.telekom.com/p3gw-mod-odg-sms/services/SmsService
Local Search-Servicehttps://gateway.developer.telekom.com/p3gw-mod-odg-localsearch/services/localsearch
IP Location-Servicehttps://gateway.developer.telekom.com/p3gw-mod-odg-iplocation/services/IPLocation

 

TOP

A.6. WSDL-Dateien

 

Tabelle A.3. WSDL-Dateien der Open-Development-Services

ParameterBedeutung
Token Servicehttps://sts.idm.telekom.com/TokenService?wsdl
Quota-Servicehttps://gateway.developer.telekom.com/p3gw-mod-odg-admin/services/ODGBaseUserService?wsdl
Voice-Call-Servicehttps://gateway.developer.telekom.com/p3gw-mod-odg-voicebutler/services/VoiceButlerService?wsdl
Conference Call-Servicehttps://gateway.developer.telekom.com/p3gw-mod-odg-ccs/services/ccsPort?wsdl
SMS-Servicehttps://gateway.developer.telekom.com/p3gw-mod-odg-sms/services/SmsService?wsdl
Local Search-Servicehttps://gateway.developer.telekom.com/p3gw-mod-odg-localsearch/services/localsearch?wsdl
IP Location-Servicehttps://gateway.developer.telekom.com/p3gw-mod-odg-iplocation/services/IPLocation?wsdl


TOP

 

DOWNLOAD der Dokumentation in der Version 2.7 R1