> ## Documentation Index
> Fetch the complete documentation index at: https://docs.squarecloud.app/llms.txt
> Use this file to discover all available pages before exploring further.

# Login na CLI da Square Cloud

> Faça login na CLI da Square Cloud pelo navegador, com uma chave de API ou via SQUARECLOUD_API_KEY no CI, veja a conta atual e renove uma chave expirada.

<Steps>
  <Step title="Inicie o login">
    Execute o comando de login no seu terminal:

    ```bash theme={"system"}
    squarecloud auth login
    ```

    A CLI mostra um código curto e abre a página de autorização no seu navegador.
  </Step>

  <Step title="Aprove no navegador">
    Digite o código na página e aprove. A CLI recebe a própria chave de API, sem precisar copiar e colar nada, e a salva nesta máquina.

    ```bash Saída theme={"system"}
    ✓ Logged in as <email>.
    This API key expires on <date>.
    ```
  </Step>
</Steps>

Uma chave emitida dessa forma tem apenas as permissões que os comandos da CLI usam e expira após **90 dias**. O [`auth whoami`](#squarecloud-auth-whoami) mostra a data; execute `squarecloud auth login` novamente para renová-la.

A chave fica salva em um arquivo `config.json` que só você pode ler: em `%APPDATA%\Square Cloud CLI` no Windows, e em `$XDG_CONFIG_HOME/squarecloud` ou `~/.config/squarecloud` no macOS e no Linux.

## `squarecloud auth login`

```bash Uso theme={"system"}
squarecloud auth login [--no-browser] [--token <key> | --with-token] [-y]
```

| Flag | Descrição |
| - | - |
| `--no-browser` | Imprime o link de autorização sem abrir um navegador. Use em sessões SSH e containers, e abra o link em qualquer dispositivo. |
| `--token <key>` | Faz login com uma chave de API que você criou no [dashboard](https://squarecloud.app/pt-br/account/security). A chave é verificada antes de ser salva. |
| `--with-token` | Lê a chave de API do stdin, para scripts. Não pode ser combinada com `--token`. |
| `-y`, `--yes` | Substitui a chave salva de outra conta sem perguntar. |

```bash theme={"system"}
squarecloud auth login --token <API key>
# Faz login com uma chave de API existente.
```

```bash theme={"system"}
echo "$SQUARECLOUD_KEY" | squarecloud auth login --with-token
# Lê a chave de API do stdin.
```

```bash Saída com uma chave de API theme={"system"}
API key saved. You are now logged in as <name>.
With great power comes great responsibility!
```

* Pressione `Ctrl+C` para cancelar um login que está aguardando aprovação.
* Se esta máquina já estiver conectada a outra conta, o `auth login` pergunta antes de substituí-la. Passe `-y` para pular a pergunta.
* Se a sua conta atingiu o limite de chaves de API, o login pelo navegador avisa e continua sozinho assim que você revogar uma chave no [dashboard](https://squarecloud.app/pt-br/account/security).
* Sem um terminal, o comando não pede nada: ele sai com uma dica. Com `CI=true`, o login pelo navegador se recusa a rodar. Veja [CI e scripts](#ci-e-scripts).

## `squarecloud auth whoami`

```bash Uso theme={"system"}
squarecloud auth whoami [--json]
```

Mostra a conta em que você está logado, o plano dela e quantos dias faltam para o plano expirar. Para uma chave emitida pelo login no navegador, também mostra quando a chave expira e os escopos dela; quando a chave vem da `SQUARECLOUD_API_KEY`, avisa isso no lugar.

```bash Saída theme={"system"}
You are currently logged in as <name> on the <plan> plan.
You have <days> days left before your plan expires.
Your API key expires on <date>.
Scopes: <scopes>
```

Com `--json`, imprime a conta (ID, nome, e-mail, idioma, plano e data de criação) em JSON.

## `squarecloud auth logout`

```bash Uso theme={"system"}
squarecloud auth logout
```

Remove a chave de API salva desta máquina. Ele não revoga a chave: para isso, exclua-a no [dashboard](https://squarecloud.app/pt-br/account/security). Quando a `SQUARECLOUD_API_KEY` está definida, os comandos continuam a usá-la depois de um logout.

```bash Saída theme={"system"}
You have successfully logged out of your Square Cloud account.
```

Quando nenhuma conta está conectada, ele imprime `No account is connected on this machine.` e sai com código 0.

## CI e scripts

No CI, não faça login: crie uma chave de API no [dashboard](https://squarecloud.app/pt-br/account/security) e defina-a na variável de ambiente `SQUARECLOUD_API_KEY`. Todo comando a usa no lugar da chave salva, e a CLI funciona até em máquinas sem pasta home.

```bash theme={"system"}
export SQUARECLOUD_API_KEY=<API key>
squarecloud commit <appID> --restart
```

* Sem um terminal, o `auth login` não pede nada: ele sai com uma dica. Use `--with-token`, `--token` ou `SQUARECLOUD_API_KEY`.
* Com `CI=true`, o login pelo navegador se recusa a rodar, já que a chave dele expira em 90 dias e só uma pessoa pode renová-la.

Veja mais sobre códigos de saída e saída em JSON em [Flags globais e CI](/pt-br/cli-reference/global-flags-and-ci#scripts-e-ci).

## Quando a chave para de funcionar

Se um comando disser que a sua sessão expirou ou que a chave de API foi revogada, execute `squarecloud auth login` novamente. Os comandos que precisam de uma conta imprimem `You need to be logged in to run this command.` e saem com código 1 quando nenhuma chave está salva ou definida.

## Relacionados

| Tarefa | API | SDK JavaScript | VS Code |
| - | - | - | - |
| Ver a conta atual | [`GET /v2/users/me`](/pt-br/api-reference/endpoint/users/me) | [`api.account.me()`](/pt-br/sdks/js/client) | Item da barra de status |
| Fazer login | [Chaves de API](/pt-br/api-reference/authentication) | [`new SquareCloudAPI(key)`](/pt-br/sdks/js/client) | [Conectar conta](/pt-br/vscode-extension/installation#instalação) |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.