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 norequest_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:-
O valor para
oauth_callbackdeve ser definido comooobdurante a chamada de POST oauth/request_token. -
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. -
O usuário insere esse PIN na sua aplicação, e sua aplicação usa o número do PIN como
oauth_verifierno 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.