SAML-App erstellen und aktivieren

In diesem Abschnitt finden Sie 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ützung bietet. Das Beispiel zeigt, wie Sie eine Anforderung erstellen, um eine SAML-Anwendung zu erstellen.

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 Anwendungsattribute für eine SAML-Anwendung

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

Eigenschaft nameIdUserstoreAttribute erstellen

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

Unterstützte Wert

  • userName

  • emails.primary.value

Eigenschaft userStoreAttributeName erstellen

Die Eigenschaft userStoreAttributeName ist ein Unterattribut des komplexen Attributs userAssertionAtributes. Die Eigenschaft userStoreAttributeName gibt an, mit welchem Benutzerattribut der Wert des SAML-Assertion-Attributs erstellt werden soll.

Unterstützte Wert

  • 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

In diesem Beispiel können Sie eine Anforderung zum Aktivieren einer SAML-Anwendung 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>