Instrução

Gerar um token para um ArcGIS Server federado que utiliza autenticação SSO IWA utilizando Python

Last Published: January 11, 2023

Resumo

Ao solicitar um token via Python, a solicitação é tecnicamente anônima. Como a autenticação anônima é desativada no nível do Web Adaptor ao aproveitar o IWA SSO, um erro 404 não autorizado é retornado ao tentar gerar um token.

Para contornar essa limitação, é necessário instalar o módulo requests-negotiate-sspi no ambiente Python que queremos usar para conceder ao módulo "requests" a capacidade de passar credenciais do Windows em solicitações.

Use o script de exemplo abaixo para gerar um token usando as credenciais da conta do Windows com a qual você executa o script:

Procedimento

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 do Artigo: 000029103

Receba notificações e encontre soluções para problemas novos ou comuns

Obtenha respostas resumidas e soluções de vídeo do nosso novo chatbot de IA.

Baixe o Aplicativo de Suporte da Esri

Informações Relacionadas

Descubra mais sobre este tema

Obtenha ajuda de especialistas do ArcGIS

Entre em contato com Suporte Técnico

Baixe o Aplicativo de Suporte da Esri

Ir para as opções de download