UiPath Documentation
uipath-cli
latest
false
Guide de l'utilisateur de UiPath CLI
Important :
Ce contenu a été traduit à l'aide d'une traduction automatique. La localisation du contenu nouvellement publié peut prendre 1 à 2 semaines avant d’être disponible.

connexion uip

Syntaxe et options de `uip login`, qui authentifient UiPath CLI par rapport à UiPath Cloud et persiste la session localement.

uip login authentifie la CLI par rapport à UiPath Cloud et conserve la session résultante dans un dossier .uipath/ local. Si cela réussit, la CLI dispose d’un jeton d’accès et d’un locataire sélectionné; les outils exécutés par des commandes ultérieures les récupèrent automatiquement. Voir Authentification pour le modèle d'informations d'identification et Sessions et informations d'identification pour l'emplacement du dossier.

Pour vérifier le statut, voir uip login status. Pour supprimer une session, voir uip logout.

Synthèse​

uip login [--tenant <name>] [--organization <name>]
         [--authority <url>] [--client-id <id>] [--client-secret <secret>]
         [--client-assertion <jwt>] [--scope <scopes>] [--no-browser] [-f <folder>]
uip login status
uip login refresh [--login-validity <minutes>]
uip login which
uip login tenant list [-f <folder>]
uip login tenant set <name> [-f <folder>]
uip login profiles list [--all-fields]
uip login profiles delete [profile-name] [--all] -y
uip login [--tenant <name>] [--organization <name>]
         [--authority <url>] [--client-id <id>] [--client-secret <secret>]
         [--client-assertion <jwt>] [--scope <scopes>] [--no-browser] [-f <folder>]
uip login status
uip login refresh [--login-validity <minutes>]
uip login which
uip login tenant list [-f <folder>]
uip login tenant set <name> [-f <folder>]
uip login profiles list [--all-fields]
uip login profiles delete [profile-name] [--all] -y

Chaque sous-commande uip login respecte les options globales (--output, --output-filter, --log-level, --log-file, --profile, --interactive/--no-interactive). Les codes de sortie suivent le contrat standard.

connexion uip​

S’authentifie de manière interactive via le navigateur ou de manière non interactive à l’aide des informations d’identification du client de l’application externe ou d’un jeton OIDC fédéré (identité de la charge de travail).

Arguments​

Aucun

Options​

  • -f, --file <folder> - Chemin d'accès à un dossier d'informations d'identification. La session est conservée dans <folder>. Sans cela, la CLI utilise l’emplacement par défaut (voir Sessions et informations d’identification). Capture mutuellement exclusive avec l'indicateur --profile global.
  • --authority <url> — URL d'autorité personnalisée, par exemple https://cloud.uipath.com (par défaut), https://govcloud.uipath.us (Secteur public) ou un hôte Automation Suite. Le préfixe https:// peut être omis (cloud.uipath.com fonctionne).
  • --client-id <id> — ID client ou ID d'application pour une application externe UiPath. Accepte env.NAME pour lire à partir d'une variable d'environnement.
  • --client-secret <secret> — Clé secrète du client pour une application externe confidentielle. Accepte env.NAME pour lire à partir d'une variable d'environnement. Capture mutuellement exclusive avec --client-assertion.
  • --client-assertion <jwt> — Jeton OIDC pour la connexion fédérée (identité de charge de travail), utilisée à la place d'une clé secrète de client. Accepte env.NAME (recommandé) pour lire à partir d'une variable d'environnement - passer le jeton brut comme valeur littérale imprime un avertissement, car il se trouverait autrement dans l'historique du shell, les listes de processus et les journaux CI. Nécessite --client-id. Capture mutuellement exclusive avec --client-secret.
  • -s, --scope <scopes> — Étendues séparées par des virgules ou des espaces (par exemple, "OR.Folders OR.Jobs"). À utiliser avec une application externe ou des informations d’identification fédérées.
  • -t, --tenant <name> — Nom du locataire (mode non interactif). S'il est omis, associez l'indicateur --interactive global afin que la CLI puisse en demander un.
  • --organization <name> — Nom logique de l'organisation, présélectionné lors de la connexion du navigateur. Contourne le sélecteur d'organisation lorsque votre utilisateur se trouve dans plusieurs organisations. Ignoré (avec un avertissement) lors de l'utilisation des informations d'identification du client ou de la connexion fédérée — l'organisation est fixée par --client-id dans ces flux.
  • --no-browser — N'ouvrez pas un navigateur; imprimez l'URL d'autorisation sur stderr (préfixé UIPATH_AUTH_URL <url> pour l'automatisation sur grep) et bloquez-la jusqu'à ce que le rappel de connexion arrive. Pour une connexion sans affichage/générée par l’automatisation. Également configurable via UIPATH_CLI_NO_BROWSER=true. N’a aucun effet (et est ignoré, avec un avertissement) lors de l’utilisation des informations d’identification du client ou de la connexion fédérée; aucun navigateur n’est ouvert dans ces flux de quelque façon que ce soit. Lorsqu’une personne se connecte, demandez-lui d’exécuter la commande dans son propre terminal - l’exécuter via l’outil de shell d’un agent lui masque l’URL imprimés.

Cette page documente également deux indicateurs qui ne sont pas spécifiques à une connexion — voir Options globales pour le comportement complet:

  • --interactive / --no-interactive — après l'authentification, forcez (ou supprimez) l'invite interactive pour sélectionner un locataire dans la liste renvoyée par le cloud. Il n'y a pas de formulaire court --it.
  • --profile <name> — utilisez un profil de connexion nommé et enregistré au lieu de l'emplacement des informations d'identification par défaut. Capture mutuellement exclusive avec -f, --file.

Modes d'identification​

  • Informations d’identification interactives/utilisateur — exécutez uip login (en option avec --interactive, --tenant ou --organization). Le flux du navigateur se termine sur l'autorité UiPath Cloud; les jetons qui en résultent sont conservés dans le dossier des informations d’identification.
  • Application externe (informations d’identification du client, non interactives) : transmettez --client-id, --client-secret et --scope, généralement avec --tenant. Convient aux runtimes CI. Lisez le secret d’une variable d’environnement avec --client-secret env.UIPATH_CLIENT_SECRET pour le garder en dehors de votre historique du shell.
  • Identité fédérée/de charge de travail (non interactive) : transmettez --client-id et --client-assertion (un JWT OIDC obtenu auprès de votre fournisseur CI ou du répartiteur d’identité de la charge de travail lors d’une étape précédente) au lieu d’une clé secrète de client. --client-secret et --client-assertion ne peuvent pas être combinés.

Exemples​

# Browser-based interactive login, picks tenant at the end
uip login --interactive

# Log directly into a known org + tenant (no browser picker)
uip login --organization my-org --tenant DefaultTenant

# Log in to a non-default authority, e.g. an Automation Suite host
uip login --authority automation.acme-corp.com --tenant DefaultTenant

# External Application with secret from environment variable
uip login \
  --client-id "00000000-0000-0000-0000-000000000001" \
  --client-secret env.UIPATH_CLIENT_SECRET \
  --scope "OR.Folders OR.Jobs" \
  --tenant DefaultTenant

# Federated login (workload identity) — the OIDC token comes from your CI provider
uip login \
  --client-id "00000000-0000-0000-0000-000000000001" \
  --client-assertion env.CI_OIDC_TOKEN \
  --tenant DefaultTenant

# Headless / automation-driven login: print the authorize URL instead of opening a browser
uip login --no-browser --tenant DefaultTenant

# Custom credentials folder (useful for scoping per-project sessions)
uip login --interactive -f ./.uipath
# Browser-based interactive login, picks tenant at the end
uip login --interactive

# Log directly into a known org + tenant (no browser picker)
uip login --organization my-org --tenant DefaultTenant

# Log in to a non-default authority, e.g. an Automation Suite host
uip login --authority automation.acme-corp.com --tenant DefaultTenant

# External Application with secret from environment variable
uip login \
  --client-id "00000000-0000-0000-0000-000000000001" \
  --client-secret env.UIPATH_CLIENT_SECRET \
  --scope "OR.Folders OR.Jobs" \
  --tenant DefaultTenant

# Federated login (workload identity) — the OIDC token comes from your CI provider
uip login \
  --client-id "00000000-0000-0000-0000-000000000001" \
  --client-assertion env.CI_OIDC_TOKEN \
  --tenant DefaultTenant

# Headless / automation-driven login: print the authorize URL instead of opening a browser
uip login --no-browser --tenant DefaultTenant

# Custom credentials folder (useful for scoping per-project sessions)
uip login --interactive -f ./.uipath

Format des données (--output json)​

{
  "Code": "Authenticated",
  "Data": {
    "Status": "Logged in",
    "Organization": "my-org",
    "Tenant": "DefaultTenant"
  }
}
{
  "Code": "Authenticated",
  "Data": {
    "Status": "Logged in",
    "Organization": "my-org",
    "Tenant": "DefaultTenant"
  }
}

Modes d’échec​

  • Le locataire manquant après une connexion non interactive génère une ConfigError avec Message: "No tenant selected" et vous indique de réexécuter avec --tenant <name> ou --interactive
  • Les erreurs de transport et les réponses non-2xx de l'autorité apparaissent sous la forme AuthenticationError, avec le statut HTTP d'origine dans Context.httpStatus lorsqu'il est disponible.
  • Une référence env.NAME mal formée dans --client-id / --client-secret produit une ConfigError avant tout appel réseau.

actualisation de la connexion uip​

Actualisez de façon proactive le jeton d’accès et émettez une charge utile de session lisible par machine (jeton d’accès, identité de l’organisation/du locataire, expiration). Destiné aux consommateurs programmatiques (par exemple une extension IDE) qui ont besoin d'un jeton valide pour les prochaines minutes, contrairement à uip login status, qui est un rapport de statut et qui n'effectue une rotation du jeton que de manière incidente lorsqu'il a déjà expiré, refresh force une rotation à l'avance si nécessaire.

Arguments​

Aucun

Options​

  • --login-validity <minutes> — actualiser uniquement si le jeton d'accès actuel expire dans ce nombre de minutes. Par défaut 5. Transmettez 0 pour ignorer la vérification proactive et effectuer une rotation uniquement si le jeton a déjà expiré. Plage 0–525600 (une année).

Exemples​

# Refresh and print a token guaranteed valid for the next 5 minutes (the default)
uip login refresh --output json

# Require at least 10 minutes of validity, forcing a refresh if the token expires sooner
uip login refresh --login-validity 10 --output json
# Refresh and print a token guaranteed valid for the next 5 minutes (the default)
uip login refresh --output json

# Require at least 10 minutes of validity, forcing a refresh if the token expires sooner
uip login refresh --login-validity 10 --output json

Format des données (--output json)​

{
  "Code": "LoginRefresh",
  "Data": {
    "Status": "Logged in",
    "Organization": "my-org",
    "Tenant": "DefaultTenant",
    "Expiration Date": "2026-04-18T10:30:00Z",
    "BaseUrl": "https://cloud.uipath.com",
    "OrganizationId": "00000000-0000-0000-0000-000000000001",
    "OrganizationName": "my-org",
    "TenantId": "00000000-0000-0000-0000-000000000002",
    "TenantName": "DefaultTenant",
    "AccessToken": "<jwt>"
  }
}
{
  "Code": "LoginRefresh",
  "Data": {
    "Status": "Logged in",
    "Organization": "my-org",
    "Tenant": "DefaultTenant",
    "Expiration Date": "2026-04-18T10:30:00Z",
    "BaseUrl": "https://cloud.uipath.com",
    "OrganizationId": "00000000-0000-0000-0000-000000000001",
    "OrganizationName": "my-org",
    "TenantId": "00000000-0000-0000-0000-000000000002",
    "TenantName": "DefaultTenant",
    "AccessToken": "<jwt>"
  }
}
Important :

AccessToken n’est inclus que lorsque --output json est en vigueur et que --output a été transmis explicitement ou stdout n’est pas interactif (piloté/redirigé). Un objet uip login refresh interactif et barré dans un terminal n’imprime jamais le jeton — c’est délibéré, de sorte que le jeton ne se retrouve pas dans le défilement par accident. Code est LoginRefreshPartial au lieu de LoginRefresh lorsque le jeton actualisé n'a pas pu être conservé dans le disque (l'appelant obtient toujours un jeton valide et utilisable pour le processus actuel).

Modes d’échec​

  • Pas de connexion, d'échec de l'actualisation ou de jeton expiré sans jeton d'actualisation disponible: AuthenticationError, code de sortie 2, avec Instructions nommant la cause spécifique.

connexion uip qui​

Imprimer l'endroit où uip lira l'authentification pour le répertoire de travail actuel — le diagnostic exact pour « pourquoi ma session n'est-elle pas récupérée». Ne prend aucune option; il rapporte toujours sur la résolution de secours + installation de secours décrite dans Sessions et informations d’identification.

Arguments​

Aucun

Options​

Aucun

Exemples​

uip login which --output json
uip login which --output json

Format de données - session basée sur des fichiers (--output json)​

{
  "Code": "AuthFile",
  "Data": {
    "Path": "/Users/me/projects/foo/.uipath/.auth",
    "Exists": true,
    "Source": "ancestor"
  }
}
{
  "Code": "AuthFile",
  "Data": {
    "Path": "/Users/me/projects/foo/.uipath/.auth",
    "Exists": true,
    "Source": "ancestor"
  }
}

Source indique où le fichier a été trouvé dans la chaîne de runtime (par exemple ancestor par rapport au répertoire de secours du répertoire d’accueil). Lorsque l'indicateur --profile global nomme un profil actif, la réponse inclut également un champ Profile.

Format des données - session variable d’environnement (--output json)​

Lorsque UIPATH_CLI_ENABLE_ENV_AUTH=true, which signale le mode env-var au lieu d'un fichier:

{
  "Code": "AuthEnv",
  "Data": {
    "EnableVar": "UIPATH_CLI_ENABLE_ENV_AUTH",
    "AllVarsPresent": true,
    "MissingVars": [],
    "Vars": [
      "UIPATH_CLI_AUTH_TOKEN",
      "UIPATH_CLI_ORGANIZATION_NAME",
      "UIPATH_CLI_ORGANIZATION_ID",
      "UIPATH_CLI_TENANT_NAME",
      "UIPATH_CLI_TENANT_ID"
    ]
  }
}
{
  "Code": "AuthEnv",
  "Data": {
    "EnableVar": "UIPATH_CLI_ENABLE_ENV_AUTH",
    "AllVarsPresent": true,
    "MissingVars": [],
    "Vars": [
      "UIPATH_CLI_AUTH_TOKEN",
      "UIPATH_CLI_ORGANIZATION_NAME",
      "UIPATH_CLI_ORGANIZATION_ID",
      "UIPATH_CLI_TENANT_NAME",
      "UIPATH_CLI_TENANT_ID"
    ]
  }
}

MissingVars n’inclut jamais de valeurs - uniquement les noms de variables non définies ou vides, de sorte que la réponse peut toujours être collée dans un ticket ou un chat.

Modes d’échec​

  • Aucun fichier d’informations d’identification trouvé nulle part sur la chaîne de run-up: AuthenticationError, code de sortie 2, avec des instructions pour exécuter uip login.
  • Le chemin d’accès résolu au fichier d’informations d’identification existe mais n’est pas utilisable (par exemple, un répertoire se trouve à ce chemin d’accès, ou bien un bloc d’autorisations de fichier le lit): Failure, code de sortie 1 — un problème d’hôte/système de fichiers, pas un problème de &` Journal dans de nouveau et quota; problème.

liste des locataires de connexion UiP​

Répertorie tous les locataires visibles par l'utilisateur authentifié dans l'organisation actuelle. Nécessite une connexion active.

Arguments​

Aucun

Options​

  • -f, --file <folder>: le chemin d'accès au dossier des informations d'identification. La valeur par défaut est la session utilisée par le dernier uip login. Capture mutuellement exclusive avec l'indicateur --profile global.

Exemple​

uip login tenant list
uip login tenant list

Format des données (--output json)​

{
  "Code": "TenantList",
  "Data": [
    {
      "TenantName": "DefaultTenant",
      "TenantId": "a1b2c3d4-0000-0000-0000-000000000001"
    },
    {
      "TenantName": "ProductionTenant",
      "TenantId": "a1b2c3d4-0000-0000-0000-000000000002"
    }
  ]
}
{
  "Code": "TenantList",
  "Data": [
    {
      "TenantName": "DefaultTenant",
      "TenantId": "a1b2c3d4-0000-0000-0000-000000000001"
    },
    {
      "TenantName": "ProductionTenant",
      "TenantId": "a1b2c3d4-0000-0000-0000-000000000002"
    }
  ]
}

Si la session n’est pas connectée, la commande génère AuthenticationError avec des instructions pour exécuter uip login au préalable.

ensemble de locataires de connexion UiP​

Sélectionnez le locataire actif par nom. Le locataire doit exister dans la liste renvoyée par login tenant list; la CLI met à jour la session stockée avec la nouvelle sélection.

Arguments​

  • <name> (requis) : le nom du locataire tel que renvoyé par uip login tenant list.

Options​

  • -f, --file <folder>: le chemin d'accès au dossier des informations d'identification. La valeur par défaut est la session utilisée par le dernier uip login. Capture mutuellement exclusive avec l'indicateur --profile global.

Exemple​

uip login tenant set DefaultTenant
uip login tenant set DefaultTenant

Format des données (--output json)​

{
  "Code": "TenantSet",
  "Data": {
    "Name": "DefaultTenant",
    "Id": "a1b2c3d4-0000-0000-0000-000000000001"
  }
}
{
  "Code": "TenantSet",
  "Data": {
    "Name": "DefaultTenant",
    "Id": "a1b2c3d4-0000-0000-0000-000000000001"
  }
}

Modes d’échec​

  • Nom de locataire inconnu produit ValidationError avec Instructions répertoriant les locataires disponibles, par exemple argument should be one of DefaultTenant, ProductionTenant.
  • Si la CLI ne peut pas mettre à jour la session stockée, l'erreur s'affiche sous la forme Failure avec une suggestion liée aux autorisations.

liste des profils de connexion uip​

Répertoriez chaque profil de connexion nommé stocké sous ~/.uipath/profiles (voir l'indicateur --profile global), plus l'emplacement des informations d'identification default .

Options​

  • --all-fields — Incluez également l'URL d'autorité de chaque profil, l'expiration du jeton et le chemin du fichier d'informations d'identification.

Exemples​

uip login profiles list
uip login profiles list
{
  "Code": "ProfileList",
  "Data": [
    { "Name": "default", "Active": true, "OrganizationName": "acme", "TenantName": "DefaultTenant", "Status": "Logged in" },
    { "Name": "staging", "Active": false, "OrganizationName": "acme-staging", "TenantName": "QA", "Status": "Expired" }
  ]
}
{
  "Code": "ProfileList",
  "Data": [
    { "Name": "default", "Active": true, "OrganizationName": "acme", "TenantName": "DefaultTenant", "Status": "Logged in" },
    { "Name": "staging", "Active": false, "OrganizationName": "acme-staging", "TenantName": "QA", "Status": "Expired" }
  ]
}
uip login profiles list --all-fields
uip login profiles list --all-fields

Url, ExpiresAt et Path sont inclus uniquement avec --all-fields. Dans une table interactive, tout profil dont le Status n'est pas Logged in est mis en surbrillance.

profils de connexion à l’uip - suppression​

Supprimez un profil de connexion nommé et ses informations d’identification stockées. Il s’agit d’une suppression réelle de fichiers sur le disque — il n’y a pas d’annulation.

Arguments​

  • [profile-name] — Le nom du profil à supprimer. Omettez lorsque vous utilisez --all.

Options​

  • --all — Supprime chaque profil nommé au lieu d'un.
  • -y, --yes — Confirmez la suppression. Requis : cette commande ne s'affiche jamais de manière interactive.

Exemples​

uip login profiles delete staging --yes
uip login profiles delete staging --yes
{ "Code": "Message", "Data": { "Message": "Deleted profile 'staging'. Removed /home/alice/.uipath/profiles/staging" } }
{ "Code": "Message", "Data": { "Message": "Deleted profile 'staging'. Removed /home/alice/.uipath/profiles/staging" } }
uip login profiles delete --all --yes
uip login profiles delete --all --yes
{
  "Code": "DeleteResult",
  "Data": [
    { "Name": "staging", "Status": "deleted" },
    { "Name": "prod", "Status": "deleted" }
  ]
}
{
  "Code": "DeleteResult",
  "Data": [
    { "Name": "staging", "Status": "deleted" },
    { "Name": "prod", "Status": "deleted" }
  ]
}

Modes d’échec​

  • La transmission simultanée d'un nom de profil et de --all, ou l'un ou l'autre, échoue avec ValidationError avant de affecter le disque.
  • default ne peut pas être supprimé de cette façon - il échoue avec ValidationError vous pointant vers uip logout à la place, car default n'est pas stocké sous ~/.uipath/profiles.
  • La suppression du profil actuellement sélectionné par --profile <name> sur cette même invocation échoue avec ValidationError (réexécuter sans cet indicateur).
  • Avec --all, le profil actif (le cas échéant) est automatiquement ignoré plutôt que supprimé, et signalé dans la réponse avec Status: "skipped". Si le fait de l'ignorer ne laisse rien d'autre à supprimer, la commande échoue avec ValidationError au lieu de réussir en mode silencieux.
  • Un nom de profil inconnu se termine par Code: "not_found", pointant vers login profiles list.

Cette page vous a-t-elle été utile ?

Connecter

Besoin d'aide ? Assistance

Vous souhaitez apprendre ? UiPath Academy

Vous avez des questions ? UiPath Forum

Rester à jour