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

Holen Sie sich Unterstützung mit KI

Lösen Sie Ihr Problem schnell mit dem Esri Support AI Chatbot.

Beginnen Sie jetzt mit dem Chatten

Zugehörige Informationen

Weitere Informationen zu diesem Thema erkunden

Unterstützung durch ArcGIS-Experten anfordern

An den technischen Support wenden

Beginnen Sie jetzt mit dem Chatten

Zu Download-Optionen wechseln