platformsh / legacy-cli

This is the legacy version of Platform.sh's command-line interface. The new version is at: https://github.com/platformsh/cli
https://docs.platform.sh/administration/cli.html
MIT License
221 stars 120 forks source link

Question: Is it possible to run platform auth:api-token-login non-interactively #1197

Open GaxZE opened 1 year ago

GaxZE commented 1 year ago

Seems a silly question but I am missing something.

When I run: platform auth:api-token-login --no-interaction I get:

Non-interactive use of this command is not supported.

To authenticate non-interactively, configure an API token using the PLATFORMSH_CLI_TOKEN environment variable.

Which I expect.

However if I set my environment variable first such as:

export PLATFORMSH_CLI_TOKEN="xxxx"

And then run platform auth:api-token-login --no-interaction I get:

An API token is already set via config

So when I run git fetch platform master for example I am greeted with:

Hello user (UUID: xxxxx), you successfully authenticated, but could not connect to service xxx (reason: access requires MFA)
xxxx@git.eu-2.platform.sh: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Worth adding, I have all my SSH keys correctly added to PlatformSH ssh-keys section.

Am I missing something here or is there a genuine bug.

pjcdawkins commented 1 year ago

When using the environment variable to set a token, you'd need platform ssh-cert:load -y to configure SSH for commands like git and ssh.

It's a good question because it's not documented

pjcdawkins commented 1 year ago

You don't need any SSH keys if you are using this certificate feature, by the way.

(And you need the certificate, not keys, for projects that enforce MFA for SSH)