SAML-App erstellen und aktivieren

Dieser Abschnitt enthält Beispielanforderungen zum Erstellen und Aktivieren einer Security Assertion Markup Language-(SAML-)App mit den REST-APIs.

SAML-App erstellen

Eine SAML-App ist eine Anwendung, die SAML für Single Sign-On unterstützt. Das Beispiel zeigt, wie eine Anforderung zum Erstellen einer SAML-App erstellt wird.

Hinweis

Wenn Sie das optionale Attribut name in Ihrer Anforderung verwenden, müssen Sie nur alphanumerische Zeichen und den Unterstrich ( _ ) im Wert verwenden.
cat>/tmp/SAMLApp.json << __EOF__
{
  "schemas": ["urn:ietf:params:scim:schemas:oracle:idcs:App"],
  "active": true,
  "displayName": "testSAMLApp",
  "description": "SAML for Portal",
  "basedOnTemplate": {
    "value": "CustomSAMLAppTemplateId"
  },
  "name": "testSAMLPartner",
  "urn:ietf:params:scim:schemas:oracle:idcs:extension:samlServiceProvider:App":
          {
            "signResponseOrAssertion": "Assertion",
            "includeSigningCertificateInSignature": "true",
            "entityId": "IdcsSamlDomain",
            "nameIdFormat": "saml-emailaddress",
            "nameIdUserstoreAttribute": "emails.primary.value",
            "assertionConsumerUrl": "http://<domainURL>/saml2/sp/acs/post",
            "signatureHashingAlgorithm": {
              "value": "SHA-256"
            },
            "logoutEnabled": true,
            "logoutBinding": true,
            "logoutRequestURL": "http://<domainURL>/FederationSampleApp/logout",
            "singleLogoutURL": "http://<domainURL>/FederationSampleApp/logout",
            "logoutResponseUrl": "http://<domainURL>/FederationSampleApp",
            "groupAssertionAttributes": [
              {
                "name": "all",
                "condition": "All Groups"
              }
            ],
            "userAssertionAttributes": [
              {
                "name": "email",
                "userStoreAttributeName": "emails.primary.value"
              },
              {
                "name": "userid",
                "userStoreAttributeName": "userName"
              },
              {
                "name": "firstname",
                "userStoreAttributeName": "name.givenName"
              },
              {
                "name": "lastname",
                "userStoreAttributeName": "name.familyName"
              }
            ]
          }
} 
__EOF__

   curl -X POST 
   -H "Content-type: application/json" 
   -H "Authorization: Bearer <access token value>" 
   --data @/tmp/SAMLApp.json http://<domainURL>/admin/v1/Apps

Erforderliche App-Attribute für eine SAML-App

Erforderliches Anwendungsattribut Beschreibung
entityId Eine Entity-ID ist ein global eindeutiger Name für eine SAML-Entity, also entweder ein Identitätsprovider oder ein Serviceprovider. Normalerweise ist der Wert eine URL.
assertionConsumerUrl Die Assertion Consumer-URL ist der Endpunkt beim Serviceprovider, an den der SAML-Identitätsprovider die SAML-Assertions sendet.
nameIdFormat Dieses Attribut stellt das Namens-ID-Format dar, das in der SAML-Assertion verwendet wird, wie E-Mail-Adresse, qualifizierter Windows-Domainname oder X.509-Themenname. Der Serviceprovider und der Identitätsprovider verwenden das Namens-ID-Format, um bei ihrer Kommunikation einfach ein Subject zu identifizieren.
nameIdValue Was Sie für dieses Attribut definieren, hängt vom angegebenen nameIdFormat-Typ ab. Mit diesem Attribut wird der angemeldete Benutzer identifiziert.
logoutBinding Dieses Attribut gibt an, ob die Abmeldeanforderung als Umleitung oder als Post gesendet wird. Dies ist ein obligatorisches Attribut, wenn das Attribut logoutEnabled auf True. gesetzt ist
logoutRequestURL Erforderlich, wenn das Attribut logoutEnabled auf True. gesetzt ist Geben Sie an, wohin die Abbuchungsanforderung gesendet wird (über HTTP oder HTTPS).
logoutResponseURL Erforderlich, wenn das Attribut logoutEnabled auf True. gesetzt ist Geben Sie an, wohin die Abmeldeantwort gesendet wird (über HTTP oder HTTPS).

Eigenschaft nameIdUserstoreAttribute erstellen

Die Eigenschaft nameIdUserstoreAttribute gibt an, welches Benutzerattribut als NameID-Wert in der SAML-Assertion verwendet wird.

Unterstützte Werte

  • userName

  • emails.primary.value

Eigenschaft userStoreAttributeName erstellen

Die Eigenschaft userStoreAttributeName ist ein Unterattribut des komplexen Attributs userAssertionAtributes. Die Eigenschaft userStoreAttributeName gibt an, welches Benutzerattribut zum Erstellen des Wertes des SAML-Assertion-Attributs verwendet werden soll.

Unterstützte Werte

  • userName

  • name.givenName

  • name.middleName

  • name.familyName

  • emails.primary.value

  • emails[work].value

  • phoneNumbers[home].value

  • phoneNumbers[mobile].value

  • phoneNumbers[work].value

  • title

  • addresses[work].streetAddress

  • addresses[work].locality

  • addresses[work].postalCode

  • addresses[work].region

  • addresses[work].country

SAML-App aktivieren

Verwenden Sie dieses Beispiel, um eine Anforderung zum Aktivieren einer SAML-Anwendung zu erstellen.

echo "Activate SAML App"
cat>/tmp/SAMLApp.json << __EOF__
{
        "active" : true,
        "schemas": [
             "urn:ietf:params:scim:schemas:oracle:idcs:AppStatusChanger"
        ]
}
__EOF__

   curl -X PUT 
   -H "Content-type: application/json" 
   -H "Authorization: Bearer <access token value>" 
   --data @/tmp/SAMLApp.json http://domainURL/admin/v1/AppStatusChanger/<appID>