Konfigurieren Sie einen OAuth-OIDC-Provider für die Annahme eines Drittpartei-Tokens

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 4 Minuten Lesedauer
  • Sie können einen OAuth-OIDC-Provider so konfigurieren, dass Identitätstoken akzeptiert werden, die von einem externen OIDC-Anbieter mithilfe eingehender API-Aufrufe mit der Single Sign-on-Option (Multi-Provider SSO) generiert wurden.

    Vorbereitungen

    Erforderliche Rolle: Administrator

    Warum und wann dieser Vorgang ausgeführt wird

    Die ServiceNow AI Platform Unterstützt OIDC über unsere externe Single Sign-on (SSO)-Implementierung zusätzlich zu eingehenden API-Aufrufen. Ein Beispiel für eine OIDC-Anbieterkonfiguration finden Sie unter Azure AD wird eingerichtet . Ein SSO-spezifisches Beispiel für eine OIDC-Anbieterkonfiguration finden Sie unter OpenID Connect-Konfiguration (OIDC) für Single Sign-on (SSO) erstellen .

    Prozedur

    1. Navigieren zu Alle > System-OAuth > Applikationsregistrierungan.
      • Wählen Sie Aus Neu , Wählen Sie aus Konfigurieren Sie einen OIDC-Provider, um ID-Token zu verifizieren , Und füllen Sie dann das Formular aus.
      • Wählen Sie eine vorhandene Vorlage für einen OIDC-Provider aus (ADFS, Auth0, Azure AD, Google, Okta), und füllen Sie dann das Formular aus.
        Hinweis:
        OIDC-Provider-Vorlagen sind nach dem Laden von Demodaten mit dem Plugin OAuth 2.0 verfügbar.
      Feld Beschreibung
      Name Ein eindeutiger Name, der die OAuth-OIDC-Entität identifiziert.
      Client-ID Die Client-ID der Anwendung, die auf dem OAuth-OIDC-Server des Drittanbieters registriert ist. Dieser Wert muss mit dem Wert von übereinstimmen aud Anspruch im JWT-Token.
      OAuth-API-Skript Ein Skript, mit dem Sie Anforderungen und Antworten an einen externen OAuth-Provider anpassen können.
      OAuth-OIDC-Providerkonfiguration Die OIDC-Anbieter (ADFS, Auth0, Azure AD, Google, Okta) können zur Validierung des JWT-Tokens verwendet werden. Wählen Sie den Datensatz Ihrer OIDC-Anbieterkonfiguration aus, um zu validieren Anwenderanspruch Und Anwenderfeld Sind entsprechend festgelegt.
      Stellen Sie außerdem sicher, dass Sie die folgenden Felder ausfüllen:
      • Aktivieren Sie die JTI-Anspruchsverifizierung : Wenn aktiviert,die ServiceNow Die JWT-Tokenvalidierung validiert auch das vom Provider gesendete JTI.
      • OIDC-Metadaten-URL : Details der bekannten Konfiguration des OIDC-Anbieters.
      Hinweis:
      Wenn die Validierung nicht aktiviert ist, wird jti Kann nicht validiert werden, unabhängig davon, ob es im JWT-Token vorhanden ist. Der Anspruchsname im Token muss sein jti .
      Taktversatz Die Anzahl in Sekunden, für die die Einschränkung als gültig gilt. Der Standardwert ist 300.
      Tokenbeschränkungen erzwingen Wählen Sie diese Option aus, um nur Token für die Verwendung mit APIs zu aktivieren, die festgelegt sind, um das Authentifizierungsprofil zu aktivieren. Sie können Zugriffsgewährung mithilfe einer API-Zugriffsrichtlinie festlegen. Weitere Informationen finden Sie unter Erstellen Sie EINE REST-API-Zugriffsrichtlinie .

      Standard: Nicht Ausgewählt.

      Aktiv Aktivieren Sie das Kontrollkästchen, um die OAuth-Anwendung zu aktivieren.
      Client-Typ Wählen Sie den Client-Typ basierend auf dem Typ Ihres Clients aus. Optionen:
      • iFrame – eingebettet
      • Integration als Anwender
      • Integration als Service
      Weitere Informationen finden Sie unter Konfigurieren Sie den Clienttyp für OAuth- und SSO-Datensätze.
    2. Wählen Sie Absenden.
      Der Datensatz wird in der Tabelle der Anwendungs-Registrys [oauth_entity] gespeichert.
      Wenn Ihre Instanz Token und Autorisierungscodes ausgibt, wird ein Datensatz in der Tabelle „Anwendungsregistrierungen“ [oauth_Entity] mit dem Typ erstellt Externer OIDC-Anbieter . Weitere Informationen finden Sie unter .
    3. Wahlweise: Wechseln Sie zur zugehörigen Liste im Datensatz „OAuth-Entitätsprofile“, um ein vom System generiertes Standardprofil für den neuen OAuth-Provider ohne Umfang zu validieren.
      Sie können ein OAuth-Anbieterprofil ändern oder hinzufügen, einschließlich Name, Gewährungstyp und OAuth-Umfang.
    4. Wahlweise: Wechseln Sie zur zugehörigen Liste im Datensatz „OAuth-Entitätsbereiche“, um alle verfügbaren OAuth-Bereiche für diesen OAuth-Provider zu definieren.
      Die definierten Umfänge können ausgewählt werden, wenn Sie ein Profil erstellen oder aktualisieren. Jeder definierte OAuth-Bereich enthält einen Namen und einen Umfang, den Sie aus der Anbieterspezifikation abrufen müssen, z. B. einen Lese- oder Schreibbereich. Jeder Umfang muss separat definiert werden.
    5. Wahlweise: Wechseln Sie zur zugehörigen Liste im Datensatz Anwenderbereitstellung, um die automatische Anwenderbereitstellung zu aktivieren.
      OptionBezeichnung
      Anwender automatisch bereitstellen Option zum Aktivieren der erzwungenen Authentifizierung für Anwender.
      Datenquelle bereitstellen Die Datenquelle, die zum Transformieren eines OIDC-Tokens in ein verwendet werden soll ServiceNow Anwender. Verwenden Sie Suchliste Um die vordefinierte Datenquellenvorlage auszuwählen, öffnen Sie dann den Datensatz, um die transformierte Tabellenzuordnung zu konfigurieren. Beim Konfigurieren der Transformationszuordnung stammen die Quellfelder aus dem JWT token, Die Zielfelder stammen aus dem sys_userTabelle.
      Auf bereitgestellte Anwender angewendete Anwenderrollen Die Anwenderrollen, die auf die neu bereitgestellten angewendet werden ServiceNow Anwender.

    Im Folgenden finden Sie ein Beispiel für eine Curl-Anforderung zum Aufrufen eines REST API-Aufrufs

    Rufen Sie einen REST-API-Aufruf auf.

    Führen Sie die nachfolgenden Schritte durch:

    • Registrieren Sie die App im OpenID Connect-Provider.
    • Konfigurieren Sie die OAuth-OIDC-Entität.
    • Konfigurieren Sie den OIDC-Provider:
      Tabelle : 1. OIDC-Provider
      OIDC-Provider Name des OIDC-Providers.
      OIDC-Metadaten-URL Geben Sie die OIDC-Metadaten-URL (bekannte Konfigurations-URL) an. Diese Informationen werden verwendet, um die öffentlichen Schlüssel abzurufen, um das Token über zu validieren JWKS Endpunkt.
      Anwenderanspruch Der Anspruch, der anhand der Anwendertabelle validiert wird.
      Anwenderfeld Anwenderanspruch, der den Anwenderdatensatz identifiziert.
      JTI-Anspruchzertifizierung aktivieren Wenn diese Option aktiviert ist, validiert die Validierung des ServiceNow-JWT-Tokens auch das vom Anbieter gesendete JTI.
      Hinweis:
      Wenn die Validierung nicht aktiviert ist, wird jti Kann nicht validiert werden, unabhängig davon, ob es im JWT-Token vorhanden ist. Der Anspruchsname im Token muss sein jti . Diese Informationen werden verwendet, um Wiederholungsangriffe zu verhindern.
    • Ruft ein JWT-Token ab.
    • Rufen Sie einen REST-API-Aufruf auf.
      • Das ID-Token im Autorisierungsheader für den Zugriff auf die Tabellen-API oder den geskripteten Webservice.
        curl -X GET --header "Accept:application/json" https://<instance_name>.service-now.com/api/now/table/incident/897b04f2dbd4a300a135364e9d961952 -k 
        --header "Authorization: Bearer eyJraWQiOiJjNTZtZTlXU0xPVnY3UFMwcTg4Qzl1b0lzNjFQYTdmUG4yZFVFOW9RNUg4IiwiYWxnIjoiUlMyNTYifQ.eyJzdWIiOiIwMHVnZDg1OD
        VkczI1WXpUSjBoNyIsIm5hbWUiOiJpbXJhbiBhbGkiLCJsb2NhbGUiOiJlbi1VUyIsImVtYWlsIjoiaW1yb241NDNAZ21haWwuY29tIiwidmVyIjoxLCJpc3MiOiJodHRwczovL2Rldi05MzQ
        xMjEub2t0YXByZXZpZXcuY29tIiwiYXVkIjoiMG9hZ2Q4bzk3a2lCT3dwd0IwaDciLCJpYXQiOjE1Mzc5MzMzMjYsImV4cCI6MTUzNzkzNjkyNiwianRpIjoiSUQueThVdXpWNUg2bm16SzRs
        OTI1RFVrQnJoR1o1MmJzVVpGVHRVTEphQjg3ayIsImFtciI6WyJwd2QiXSwiaWRwIjoiMDBvZ2Q4NTgycEFqZDZTemcwaDciLCJub25jZSI6InNub3ciLCJwcmVmZXJyZWRfdXNlcm5hbWUiO
        iJpbXJvbjU0M0BnbWFpbC5jb20iLCJnaXZlbl9uYW1lIjoiaW1yYW4iLCJmYW1pbHlfbmFtZSI6ImFsaSIsInpvbmVpbmZvIjoiQW1lcmljYS9Mb3NfQW5nZWxlcyIsInVwZGF0ZWRfYXQiOj
        E1Mzc5MzAxOTcsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJhdXRoX3RpbWUiOjE1Mzc5Mjk2NjF9.OG87SYxWFgHGlhBYby2H79diRm9rlYZTeEkIINRUatwg-p4739htB8xEY-5_t6yU_6k5w1
        0pdgtt5M5QFZRPXVbQZNoGtY-Bxn0BjaimcFgoWfhY_0ldnGTkzN2RYyIHvrf9-yhxg347zvczmLrgMMa_VwG4rxrtE6rUXaIpIeIK5b-Deq8ADz8UTUTKpF_5RWk4X-oh5xK6BLniFHk4ShO
        Zq2v_mjproXwKk5euJKrVrar2lQ4adZCOSTRuTf3ThMO5WDh0sel-82LngXtLzRJJ51IqxAsXns0kJHLLqLtH1hXNRKfwT1ScQoE_OfWm4t0KryI2j4wSMEanFtLXIw"
      • Wenn der Anwender authentifiziert ist, wird eine gültige Anwendungs-/JSON-Antwort zurückgegeben. Andernfalls wird eine Fehlermeldung „Anwender nicht authentifiziert“ zurückgegeben.
        User Not Authenticated
        {"error":{"message":"User Not Authenticated","detail":"Required to provide Auth information"},"status":"failure"}