legacy-cli icon indicating copy to clipboard operation
legacy-cli copied to clipboard

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

Open GaxZE opened this issue 2 years ago • 2 comments

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)
[email protected]: 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.

GaxZE avatar Nov 30 '22 16:11 GaxZE

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 avatar Dec 05 '22 00:12 pjcdawkins

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)

pjcdawkins avatar Dec 05 '22 00:12 pjcdawkins