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

# Autorização baseada em PIN

> Use o fluxo OAuth baseado em PIN para X apps que não conseguem incorporar um navegador, como ferramentas de CLI e consoles de jogos, informando um PIN numérico como oauth_verifier.

export const Button = ({href, children}) => {
  return <div className="not-prose group">
    <a href={href}>
      <button className="flex items-center space-x-2.5 py-1 px-4 bg-primary-dark dark:bg-white text-white dark:text-gray-950 rounded-full group-hover:opacity-[0.9] font-medium">
        <span>
          {children}
        </span>
        <svg width="3" height="24" viewBox="0 -9 3 24" class="h-6 rotate-0 overflow-visible"><path d="M0 0L3 3L0 6" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"></path></svg>
      </button>
    </a>
  </div>;
};

### Autorização baseada em PIN

O fluxo OAuth baseado em PIN é uma versão do processo [3-legged OAuth](/resources/fundamentals/authentication/oauth-1-0a/obtaining-user-access-tokens) destinado a aplicações que não conseguem acessar ou incorporar um navegador para redirecionar o usuário após a autorização. Exemplos desse tipo de aplicação são aplicações de linha de comando, sistemas embarcados, consoles de jogos e certos tipos de apps móveis.

O fluxo PIN-based OAuth é iniciado por um app no `request_token` com o `oauth_callback` definido como `oob`. O termo `oob` significa out-of-band OAuth. O usuário ainda visita o X para se autenticar ou autorizar o app, mas não será automaticamente redirecionado à aplicação após aprovar o acesso. Em vez disso, ele verá um PIN numérico, com instruções para retornar à aplicação e informar esse valor.

<Note>
  **Nota:** o `callback_url` nas configurações do X app continua sendo obrigatório, mesmo ao usar autenticação baseada em PIN.
</Note>

#### Implementando o fluxo PIN-based OAuth

O fluxo baseado em PIN é implementado da mesma forma que a [autorização 3-legged](/resources/fundamentals/authentication/oauth-1-0a/obtaining-user-access-tokens) (e o [Sign in with X](/resources/fundamentals/authentication#log-in-with-x)), com as seguintes diferenças:

1. O valor para `oauth_callback` deve ser definido como `oob` durante a chamada de [POST oauth/request\_token](/resources/fundamentals/authentication/api-reference#post-oauth-request-token).

2. Após o usuário ser enviado ao X para autorizar seu app usando uma URL [GET oauth/authenticate](/resources/fundamentals/authentication/api-reference#get-oauth-authenticate) ou [GET oauth/authorize](/resources/fundamentals/authentication/api-reference#get-oauth-authorize), ele não será redirecionado ao seu `callback_url`, e sim verá uma tela com um PIN de \~7 dígitos gerado pelo X, junto com instruções para inserir o PIN no nome da sua aplicação.

3. O usuário insere esse PIN na sua aplicação, e sua aplicação usa o número do PIN como `oauth_verifier` no [POST oauth/access\_token](/resources/fundamentals/authentication/api-reference#post-oauth-access-token) para obter um access\_token.

<Note>
  **Nota:** PINs não são reutilizáveis, e o `access_token` obtido deve ser usado para solicitações application-user.
</Note>
