SignInToPortal

Краткая информация

Позволяет выполнять вход на портал.

Обсуждение

Для публикации ресурсов или запуска готовых к использованию инструментов вы должны войти на портал. Это может быть портал ArcGIS Enterprise или ArcGIS Online.

Чтобы добавить подключение к порталу, щелкните вкладку Проект на ленте, а затем - страницу Порталы. Подробнее см. раздел Управление подключениями портала в ArcGIS Pro.

SignInToPortal добавит URL портала к вашим подключениям к порталу (при необходимости), войдите и сделайте портал активным. При запуске в окне Python портал будет задан как активный (при отличии) и добавлен к подключениям к порталу для будущих сеансов ArcGIS Pro или автономных сеансов Python. Но если он будет запущен в отдельном сеансе Python, то информация портала будет использоваться только в течение активного сеанса Python. Если портал активный и вход в него выполнен, то запускать функцию SignInToPortal не нужно. При выполнении скрипта в ArcGIS Pro или вне его автоматически используется текущий активный портал.

При входе в систему в качестве пользователя портала или с помощью учетной записи на основе следующих поддерживаемых конфигураций проверки подлинности портала могут потребоваться другие параметры:

Вход на портал, использующий IWA или PKI, не поддерживается на компьютере Linux.

Синтаксис

SignInToPortal (portal_url, {username}, {password}, {cert_file}, {key_file}, {token}, {token_referer}, {token_expiry})
ПараметрОписаниеТип данных
portal_url

The URL of the portal to sign in to.

String
username

The username of the user signing in to the portal. If the portal uses IWA, leave this parameter empty. You can only sign in as the current Windows user.

String
password

The password of the user signing in to the portal. If the portal uses PKI authentication, use the password to the PKCS12 certificate file. If the portal uses IWA, leave this parameter empty.

String
cert_file

The path to the certificate file. If the portal uses PKI authentication, use the path to the PKCS12 formatted certificate file (.pfx or .p12) or the PEM formatted certificate file (.pem).

String
key_file

The path to the key file. If the portal uses PKI authentication, use the path to the PEM formatted key file (.pem).

String
token

The token that will be used to authenticate with the portal.

An ArcGIS portal token can be created using any of the following:

  • The GetSigninToken function within an authenticated session
  • The generateToken REST service on Portal for ArcGIS.
  • The SignInToPortal function

When using a token to authenticate, the token, token_referer, and token_expiry values must be specified.

String
token_referer

The referer that will be used to generate the token (if applicable).

String
token_expiry

The expiration timestamp for the token. This is a value measured in the number of seconds since epoch.

Примечание:

The API that produces the token may return the expiry value in seconds or milliseconds.

Integer
Возвращаемое значение
Тип данныхОписание
Dictionary

Словарь пар ключевых значений для значений expires, referer и token.

Пример кода

SignInToPortal, пример 1

Вход на портал, использующий встроенную систему безопасности.

import arcpy

arcpy.SignInToPortal("https://webadaptorhost.domain.com/webadaptorname", 
                     'username', 'password')
SignInToPortal, пример 2

Вход на портал, который использует инфраструктуру открытых ключей (аутентификацию PKI), используя файл сертификата в формате PKCS12 (.pfx или .p12) и пароль.

import arcpy

arcpy.SignInToPortal("https://webadaptorhost.domain.com/webadaptorname", 
                     cert_file="C:\\path\\to\\mycert.pfx", 
                     password="cert.password")
SignInToPortal, пример 3

Вход на портал, который использует инфраструктуру открытых ключей (аутентификацию PKI), используя файл сертификата в формате PEM (.pem) и файл ключа (.pem).

import arcpy

arcpy.SignInToPortal("https://webadaptorhost.domain.com/webadaptorname", 
                     cert_file="C:\\path\\to\\mycert.pem", 
                     key_file="C:\\path\\to\\mykey.pem")
SignInToPortal, пример 4

Вход на портал, который использует встроенную аутентификацию Windows (IWA), указав имя пользователя и пароль.

import arcpy

arcpy.SignInToPortal("https://webadaptorhost.domain.com/webadaptorname")
SignInToPortal, пример 5

Войдите в портал, используя токен, полученный с помощью конечной точки generateToken REST портала ArcGIS.


import arcpy
import requests

# assemble arguments into a dictionary
# for additional help on the generateToken REST service see your portal documentation
portal_url = "https://example.com/portal/"
gen_token_url = f"{portal_url}sharing/rest/generateToken"
params = {"f": "json",               # Response format
		  "username": "username",    # Your ArcGIS Portal username
		  "password": "password",    # Your ArcGIS Portal password
		  "referer": gen_token_url,  # URL of the referring application (usually your portal)
		  "expiration": 60           # Token expiration time in minutes (default: 60)
 		}

# get a token using python's requests module
resp = requests.post(gen_token_url, data=params)

# check response, if failed show response.text
assert resp.status_code == 200, resp.text

# now use token with SignInToPortal
token = resp.json()['token']
token_expiry = int(resp.json()['expires']/1000)  # convert to seconds since generateToken returns milliseconds
resp = arcpy.SignInToPortal(portal_url, token=token, token_referer=portal_url, token_expiry=token_expiry)

Связанные разделы