Introdução
Por quanto tempo minhas credenciais permanecerão válidas?
Por padrão, o access token que você cria por meio do Authorization Code Flow with PKCE permanecerá válido por apenas duas horas, a menos que você tenha usado o escopooffline.access
.
Refresh tokens
offline.access
for aplicado, um refresh token do OAuth 2.0 será emitido. Com esse refresh token, você obtém um access token. Se esse escopo não for enviado, não geraremos um refresh token.
Um exemplo da solicitação que você faria para usar um refresh token e obter um novo access token é o seguinte:
Configurações da App
Clientes confidenciais
Escopos
Escopo | Descrição |
tweet.read | Todos os Tweets que você pode visualizar, incluindo Tweets de contas protegidas. |
tweet.write | Publicar Tweets e fazer Retweet por você. |
tweet.moderate.write | Ocultar e reexibir respostas aos seus Tweets. |
users.email | E-mail de um usuário autenticado. |
users.read | Qualquer conta que você pode visualizar, incluindo contas protegidas. |
follows.read | Pessoas que seguem você e pessoas que você segue. |
follows.write | Seguir e deixar de seguir pessoas por você. |
offline.access | Permanecer conectado à sua conta até você revogar o acesso. |
space.read | Todos os Spaces que você pode visualizar. |
mute.read | Contas que você silenciou. |
mute.write | Silenciar e reativar contas por você. |
like.read | Tweets que você curtiu e likes que você pode visualizar. |
like.write | Curtir e remover like em Tweets por você. |
list.read | Lists, membros de Lists e seguidores de Lists que você criou ou das quais você é membro, incluindo Lists privadas. |
list.write | Criar e gerenciar Lists por você. |
block.read | Contas que você bloqueou. |
block.write | Bloquear e desbloquear contas por você. |
bookmark.read | Obter Tweets com Bookmark de um usuário autenticado. |
bookmark.write | Adicionar e remover Bookmarks de Tweets. |
media.write | Enviar mídia. |
Limites de requisições
Tipos de concessão
Fluxo do OAuth 2.0
Glossário
Termo | Descrição |
Tipos de concessão | O framework OAuth especifica vários tipos de concessão para diferentes casos de uso e também um framework para criar novos tipos de concessão. Exemplos incluem authorization code, client credentials, device code e refresh token. |
Cliente confidencial | Clientes são aplicativos que conseguem se autenticar com segurança no servidor de autorização, por exemplo, mantendo seu client secret registrado em sigilo. |
Cliente público | Clientes que não podem usar client secrets registrados, como aplicativos executados em um navegador ou dispositivo móvel. |
Fluxo de authorization code | Usado por clientes confidenciais e públicos para trocar um authorization code por um access token. |
PKCE | Uma extensão do fluxo de authorization code para prevenir diversos ataques e permitir realizar a troca OAuth com segurança a partir de clientes públicos. |
Client ID | Pode ser encontrado na seção de chaves e tokens do portal do desenvolvedor, sob o cabeçalho “Client ID”. Se você não visualizar isso, entre em contato diretamente com nossa equipe. O Client ID será necessário para gerar a URL de authorize. |
Redirect URI | Sua callback URL. Você precisará ter validação de correspondência exata. |
Authorization code | Permite que um aplicativo acesse APIs em nome de usuários. Conhecido como auth_code. O auth_code tem um limite de tempo de 30 segundos a partir do momento em que o proprietário da App recebe um auth_code aprovado do usuário. Você terá que trocá-lo por um access token dentro de 30 segundos, ou o auth_code expirará. |
Access token | Access tokens são o token que aplicativos usam para fazer solicitações à API em nome de um usuário. |
Refresh token | Permite que um aplicativo obtenha um novo access token sem solicitar ação do usuário, por meio do fluxo de refresh token. |
Client Secret | Se você selecionou um tipo de App que é um cliente confidencial, você receberá um “Client Secret” sob “Client ID” na seção de chaves e tokens da sua App. |
Parâmetros
Parâmetro | Descrição |
response_type | Especifique que se trata de um código usando a palavra “code”. |
client_id | Pode ser encontrado no portal do desenvolvedor sob o rótulo “Client ID”. |
redirect_uri | Sua URL de callback. Esse valor deve corresponder a um dos Callback URLs definidos nas configurações da sua App. Para OAuth 2.0, é necessário ter validação de correspondência exata para sua URL de callback. |
state | Uma string aleatória fornecida por você para proteção contra ataques CSRF. O comprimento dessa string pode ser de até 500 caracteres. |
code_challenge | Um parâmetro PKCE: um segredo aleatório para cada solicitação. |
code_challenge_method | Especifica o método usado para fazer a solicitação (S256 ou plain). |