UiPath Documentation
uipath-cli
latest
false
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.

Guide de l'utilisateur de UiPath CLI

Authentification

La UiPath CLI prend en charge trois flux d'authentification correspondant aux trois cas d'utilisation courants: un développeur sur un ordinateur portable, un pipeline CI/CD appelant Orchestrator avec une application externe et un conteneur ou un exécuteur éphémère qui possède déjà un jeton d'accès. Toutes les trois se terminent au même endroit — une session authentifiée que chaque commande uip suivante réutilise — mais elles diffèrent dans la façon dont elles obtiennent le jeton et dont la CLI l'actualise.

Choisir un flux

Vous êtes…L'utiliserComment
Un développeur sur un ordinateur portable ou une station de travailOAuth interactif2uip login ouvre un navigateur, vous vous connectez une fois, et les jetons sont stockés et actualisés automatiquement.
Un pipeline ou un serveur CI/CDApplication externe (informations d’identification du client)Créez une application externe dans UiPath et transmettez son ID et sa clé secrète à uip login --client-id … --client-secret …. Les jetons sont stockés et actualisés.
Un conteneur, un exécuteur éphémère ou tout processus qui contient déjà un jetonAuthentification variable d'environnementDéfinissez UIPATH_CLI_ENABLE_ENV_AUTH=true et indiquez le jeton + organisation/locataire via des variables d’environnement. Aucun fichier n’est écrit; aucune actualisation.

uip logout efface toutes les informations d'identification sur le disque des deux premiers flux. Le flux env-var n'a rien à effacer — désélectionnez les variables env.

Flux 1 — OAuth interactif2

Exécutez uip login sans argument:

uip login
uip login

uip ouvre votre navigateur par défaut sur la page de connexion d'UiPath. Une fois authentifié, UiPath redirige vers un rappel local sur lequel uip écoute, et la CLI vous invite à choisir un locataire. Lorsque le locataire est sélectionné, la session est enregistrée et vous avez terminé.

Indicateurs utiles:

uip login --tenant DefaultTenant                 # skip the tenant picker
uip login --organization my-org                  # skip the org picker for users in multiple orgs
uip login --interactive                          # explicitly show the tenant picker even if --tenant was set
uip login --authority https://example.com        # point at a non-default identity authority (Automation Suite, staging)
uip login --scope "OR.Folders OR.Jobs"           # restrict the session to specific scopes
uip login --file /path/to/creds                  # store credentials in a non-default folder
uip login --tenant DefaultTenant                 # skip the tenant picker
uip login --organization my-org                  # skip the org picker for users in multiple orgs
uip login --interactive                          # explicitly show the tenant picker even if --tenant was set
uip login --authority https://example.com        # point at a non-default identity authority (Automation Suite, staging)
uip login --scope "OR.Folders OR.Jobs"           # restrict the session to specific scopes
uip login --file /path/to/creds                  # store credentials in a non-default folder

L'emplacement où sont stockées les informations d'identification

Par défaut, la session est stockée dans un dossier .uipath/ . uip recherche ce dossier à trois endroits, dans l’ordre:

  1. Dossier explicite — si vous avez transmis --file <folder>, la CLI utilise ce dossier. Indiquez le dossier, pas un chemin de fichier.
  2. Remontez du répertoire de travail actuel à la recherche de .uipath/ — afin qu'un dossier de projet puisse effectuer sa propre session sans affecter la page d'accueil de l'utilisateur.
  3. ~/.uipath/ — la solution de secours par défaut.

Lorsqu’il n’existe aucun .uipath/ sur la chaîne de runtime, uip login en crée un au niveau de ~/.uipath/. Traitez le contenu du dossier comme Op manière - il est géré par uip login, uip login tenant set et uip logout.

Gérer les locataires à la mi-session

La session stocke un seul locataire actif à la fois. Basculer sans réexécuter le flux de connexion complet:

uip login tenant list           # show all tenants available to your account
uip login tenant set MyTenant   # switch the active tenant
uip login tenant list           # show all tenants available to your account
uip login tenant set MyTenant   # switch the active tenant

uip login status affiche l'organisation actuelle, le locataire et l'expiration du jeton.

Astuce :

Chaque commande uip or … accepte également --tenant <name> pour remplacer le locataire de session pour un seul appel - utile lorsque vous devez exécuter deux locataires dans le même script sans reconnecter.

L’actualisation est automatique

uip actualise les jetons d’accès en arrière-plan lorsqu’ils approchent de leur expiration. Vous n'avez pas besoin de réexécuter uip login sauf si le jeton d'actualisation expire ou est révoqué, ou si vous modifiez les locataires/organisations.

Flux 2 — Application externe (informations d'identification du client)

Créez une application externe dans UiPath (Automation Cloud: Admin → Applications externes) avec:

  • Type d’application: confidentiel
  • Type d'accord: informations d'identification du client
  • Étendues: les étendues dont votre pipeline a besoin (par exemple, OR.Folders, OR.Jobs, OR.Execution, OR.Assets, OR.Users)

Copiez l' ID d'application et le secret d'application générés et stockez-les dans le magasin secret du pipeline (clés secrètes GitHub Actions, groupes de variables Azure DevOps, informations d'identification Jenkins, coffre, etc.).

Connectez-vous depuis le pipeline:

uip login \
  --client-id env.UIPATH_CLIENT_ID \
  --client-secret env.UIPATH_CLIENT_SECRET \
  --tenant "$UIPATH_TENANT"
uip login \
  --client-id env.UIPATH_CLIENT_ID \
  --client-secret env.UIPATH_CLIENT_SECRET \
  --tenant "$UIPATH_TENANT"

Le préfixe env.var_NAME

--client-id et --client-secret acceptent soit une valeur littérale, soit le préfixe spécial env. qui se résout vers une variable d'environnement au moment du runtime. env.UIPATH_CLIENT_ID signifie « lire la valeur de la variable d'environnement UIPATH_CLIENT_ID ». Cela maintient les valeurs secrètes en dehors des listes de l’historique et des processus, contrairement à --client-secret "$UIPATH_CLIENT_SECRET", qui se développe sur la ligne de commande.

Les valeurs littérales fonctionnent toujours:

uip login --client-id 3c7af0…---client-secret s3cr3t…   # works, but the secret is visible in history
uip login --client-id 3c7af0…-… --client-secret s3cr3t…   # works, but the secret is visible in history
Avertissement :

Ne définissez pas UIPATH_CLIENT_ID / UIPATH_CLIENT_SECRET comme variables d'environnement et attendez-vous à ce que uip login les récupère automatiquement. Avant la version UiPath CLI 1.0, uip login --env et la lecture implicite d'Env-var étaient prises en charge; elles ont été supprimées. Vous devez transmettre l'indicateur explicitement, soit avec une valeur littérale, soit avec le préfixe env. .

Remplacements d’étendue

Si l’application externe a plusieurs étendues et que vous souhaitez une session plus restreinte pour un script spécifique, saisissez --scope:

uip login \
  --client-id env.UIPATH_CLIENT_ID \
  --client-secret env.UIPATH_CLIENT_SECRET \
  --tenant "$UIPATH_TENANT" \
  --scope "OR.Folders OR.Jobs"
uip login \
  --client-id env.UIPATH_CLIENT_ID \
  --client-secret env.UIPATH_CLIENT_SECRET \
  --tenant "$UIPATH_TENANT" \
  --scope "OR.Folders OR.Jobs"

Flux 3 — Authentification variable d'environnement (jeton d'accès déjà en main)

Certains environnements — les conteneurs créés par un autre pipeline, les tâches planifiées, les installations de test — détiennent déjà un jeton d'accès UiPath valide et n'ont pas besoin de la connexion interactive ou de l'échange d'informations d'identification du client. Activez le flux d'authentification env-var en définissant:

export UIPATH_CLI_ENABLE_ENV_AUTH=true

export UIPATH_CLI_AUTH_TOKEN="$UIPATH_TOKEN"            # JWT access token
export UIPATH_CLI_ORGANIZATION_NAME=my-org
export UIPATH_CLI_ORGANIZATION_ID="$UIPATH_ORG_ID"
export UIPATH_CLI_TENANT_NAME=DefaultTenant
export UIPATH_CLI_TENANT_ID="$UIPATH_TENANT_ID"
export UIPATH_CLI_ENABLE_ENV_AUTH=true

export UIPATH_CLI_AUTH_TOKEN="$UIPATH_TOKEN"            # JWT access token
export UIPATH_CLI_ORGANIZATION_NAME=my-org
export UIPATH_CLI_ORGANIZATION_ID="$UIPATH_ORG_ID"
export UIPATH_CLI_TENANT_NAME=DefaultTenant
export UIPATH_CLI_TENANT_ID="$UIPATH_TENANT_ID"

Avec UIPATH_CLI_ENABLE_ENV_AUTH=true, chaque invocation de uip s’authentifie à partir de ces variables et contourne entièrement le dossier .uipath/ . Il n’y a pas d’étape uip login et rien n’est écrit sur le disque.

Remarques et limitations

  • Jeton transparente. L'appelant est responsable de la fraîcheur du jeton. Il n’y a pas de flux d’actualisation. À l'expiration du jeton, uip login status signale Expired et les commandes échouent jusqu'à ce que la variable soit mise en rotation.
  • L'URL du serveur est dérivée du jeton. La revendication iss dans le fichier JWT est faisant foi - vous n'avez pas défini UIPATH_URL. Cela évite les erreurs d'acheminement lorsqu'un pipeline définit UIPATH_URL de manière incohérent avec le jeton.
  • La passerelle compte. Si UIPATH_CLI_ENABLE_ENV_AUTH n’est pas défini ou défini sur quelque chose d’autre que la chaîne littérale true, le flux basé sur des fichiers est utilisé. L'orthographe de la passerelle est silencieuse - vérifiez avec uip login status.
  • Les valeurs manquantes échouent explicitement. Si une variable requise est vide, uip renvoie une erreur claire en nommant la variable incriminée, et non un message générique « non authentifié».

Exemple d'étape d'actions GitHub utilisant l'authentification env-var:

- name: Run uip against Orchestrator
  env:
    UIPATH_CLI_ENABLE_ENV_AUTH: "true"
    UIPATH_CLI_AUTH_TOKEN: ${{ secrets.UIPATH_TOKEN }}
    UIPATH_CLI_ORGANIZATION_NAME: contoso
    UIPATH_CLI_ORGANIZATION_ID: ${{ secrets.UIPATH_ORG_ID }}
    UIPATH_CLI_TENANT_NAME: Default
    UIPATH_CLI_TENANT_ID: ${{ secrets.UIPATH_TENANT_ID }}
  run: uip or folders list --output json
- name: Run uip against Orchestrator
  env:
    UIPATH_CLI_ENABLE_ENV_AUTH: "true"
    UIPATH_CLI_AUTH_TOKEN: ${{ secrets.UIPATH_TOKEN }}
    UIPATH_CLI_ORGANIZATION_NAME: contoso
    UIPATH_CLI_ORGANIZATION_ID: ${{ secrets.UIPATH_ORG_ID }}
    UIPATH_CLI_TENANT_NAME: Default
    UIPATH_CLI_TENANT_ID: ${{ secrets.UIPATH_TENANT_ID }}
  run: uip or folders list --output json

Déconnexion

uip logout                         # clear the default credentials folder
uip logout --file /path/to/creds   # clear a non-default credentials folder
uip logout                         # clear the default credentials folder
uip logout --file /path/to/creds   # clear a non-default credentials folder

logout efface la session stockée à l’intérieur de .uipath/. Dans le flux env-var, il n'y a rien à supprimer — vous ne définissez pas les variables.

Résolution des problèmes

❌ Non connecté

Soit aucun dossier .uipath/ n’a été trouvé sur la chaîne de runtime, soit la session stockée n’est pas lisible. Exécutez uip login (ou définissez le flux env-var) et réessayez.

Jeton expiré

Les sessions d’application interactives et externes sont automatiquement actualisées à l’approche de leur expiration. Si vous voyez Expired, le jeton d'actualisation a expiré ou a été révoqué, réexécutez uip login. Pour l'authentification env-var, faites pivoter UIPATH_CLI_AUTH_TOKEN.

Plusieurs membres de l'organisation, mauvaise organisation sélectionnée

Transmettez --organization <logical-name> sur uip login pour contourner le sélecteur d’organisation, ou uip login tenant list après pour voir ce à quoi la session est réellement liée.

Le proxy d’entreprise bloque le rappel du navigateur

Le flux interactif ouvre un port de rappel local sur 127.0.0.1. La plupart des proxys laissent le bouclage seul, mais certaines configurations amusantes le bloquent. Solution en utilisant le Flux 2 (Application externe) ou le Flux 3 (env-var auth) — qui évitent tous deux le rappel du navigateur.

Voir également

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