HOW TO

Generieren eines Token für einen ArcGIS Server-Verbundserver mit IWA-SSO-Authentifizierung über Python

Last Published: January 11, 2023

Zusammenfassung

Die Anforderung, die beim Anfordern eines Token über Python gesendet wird, ist technisch gesehen anonym. Da bei Verwendung von IWA-SSO die anonyme Authentifizierung auf Web Adaptor-Ebene deaktiviert ist, wird beim Versuch, ein Token zu generieren, der Fehler "404 Nicht autorisiert" zurückgegeben.

Um diese Einschränkung zu umgehen, müssen Sie das Modul requests-negotiate-sspi in der Python-Umgebung installieren. Damit wird es dem Modul "requests" ermöglicht, Windows-Anmeldeinformationen in Anforderungen zu übergeben.

Verwenden Sie das folgende Beispielskript, um mit den Anmeldeinformationen des Windows-Kontos, das Sie zum Ausführen des Skripts verwenden, ein Token zu generieren:

Vorgehensweise

import json
import requests
from requests_negotiate_sspi import HttpNegotiateAuth


portal = "https://hostname.domain.com/portal"

server = "https://hostname.domain.com/server"

def getPortalToken(url):
    parameters = {'client' : 'referer','referer': server,'expiration': 5,'f' : 'json'}
    req = requests.get(url + '/sharing/rest/generateToken?', parameters, auth=HttpNegotiateAuth())
    json = req.json()
    token = json.get("token", "")
    return token

def getServerToken(url, serverUrl, token):
    parameters = {'serverUrl' : serverUrl,'token' : token,'f' : 'json'}
    req = requests.get(url + '/sharing/rest/generateToken?', parameters, auth=HttpNegotiateAuth())
    json= req.json()
    token = json.get("token", "")
    return token

portalToken = getPortalToken(portal)
serverToken = getServerToken(portal, server, portalToken)
print(serverToken)

 

Artikel-ID: 000029103

Benachrichtigungen erhalten und Lösungen für neue oder häufige Probleme finden

Unser neuer KI-Chatbot stellt zusammengefasste Antworten und Videolösungen für Sie bereit.

Esri Support App herunterladen

Zugehörige Informationen

Weitere Informationen zu diesem Thema erkunden

Unterstützung durch ArcGIS-Experten anfordern

An den technischen Support wenden

Esri Support App herunterladen

Zu Download-Optionen wechseln