PROCÉDURE

générer un jeton pour un serveur ArcGIS Server fédéré qui utilise l’authentification unique IWA à l’aide de Python

Last Published: January 11, 2023

Résumé

Lors de la demande d’un jeton via Python, la demande est techniquement anonyme. Étant donné que l’authentification anonyme est désactivée au niveau de l’adaptateur Web lors de l’utilisation de l’authentification unique IWA, une erreur 404 non autorisée est renvoyée lors de la tentative de génération d’un jeton.

Pour contourner cette limitation, il est nécessaire d’installer le module requests-negotiate-sspi dans l’environnement Python que nous voulons utiliser pour accorder au module « requests » la possibilité de transmettre des informations d’identification Windows dans les demandes.

Utilisez l’exemple de script ci-dessous pour générer un jeton à l’aide des informations d’identification du compte Windows avec lequel vous exécutez votre script :

Procédure

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)

 

ID d’article: 000029103

Obtenez de l'aide avec l'IA

Résolvez rapidement votre problème avec le chatbot Esri Support AI.

Commencez à discuter maintenant

Informations associées

En savoir plus sur ce sujet

Obtenir de l’aide auprès des experts ArcGIS

Contacter le support technique

Commencez à discuter maintenant

Accéder aux options de téléchargement