Skip to main content

Autorização baseada em PIN

O fluxo OAuth baseado em PIN é uma versão do processo 3-legged OAuth 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.
Nota: o callback_url nas configurações do X app continua sendo obrigatório, mesmo ao usar autenticação baseada em PIN.

Implementando o fluxo PIN-based OAuth

O fluxo baseado em PIN é implementado da mesma forma que a autorização 3-legged (e o Sign 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.
  2. Após o usuário ser enviado ao X para autorizar seu app usando uma URL GET oauth/authenticate ou 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 para obter um access_token.
Nota: PINs não são reutilizáveis, e o access_token obtido deve ser usado para solicitações application-user.