Skip to main content

OAuth 1.0a

Muitos endpoints da plataforma para desenvolvedores do X usam o método OAuth 1.0a para agir, ou fazer requisições à API, em nome de uma conta do X. Por exemplo, se você tem um app de desenvolvedor do X, pode fazer requisições à API em nome de qualquer conta do X desde que esse usuário autentique seu app. Observação: se você não está familiarizado com conceitos como HMAC-SHA1 e codificação por porcentagem, recomendamos que confira a seção “ferramentas úteis” abaixo, que lista alguns clientes de API que simplificam bastante o processo de autenticação.

Conceitos-chave

Assinando uma requisição com chaves e tokens

Você precisa assinar cada requisição à API passando várias chaves e tokens gerados em um cabeçalho de autorização. Para começar, você pode gerar várias chaves e tokens na página de detalhes do seu app de desenvolvedor do X, incluindo os seguintes:

Fazendo requisições em nome de usuários

Ao criar uma assinatura, você precisa de um conjunto de access tokens que representa o usuário em nome de quem você vai fazer a requisição. Você pode gerar um conjunto de access tokens que representa a conta do X proprietária do app de desenvolvedor do X na página de detalhes do app, mas se quiser fazer uma requisição em nome de uma conta do X diferente, o proprietário dessa conta deve conceder acesso a você fazendo login em sua conta como parte do fluxo OAuth de 3 etapas. O resultado desse processo é um conjunto de access tokens (oauth_token e oauth_token_secret) que podem ser usados para fazer uma requisição OAuth 1.0a. Uma vez que você tenha essas chaves e tokens, pode criar uma assinatura do zero. Não recomendamos isso, a menos que saiba o que está fazendo, ou se estiver usando uma das ferramentas mencionadas abaixo para fazer uma requisição a um endpoint que exige OAuth 1.0a. Para referência, aqui está um exemplo de uma requisição cURL assinada com todos os tokens gerados passados em um cabeçalho de autorização:
Observação: Os access tokens do usuário são sensíveis e devem ser guardados com muito cuidado. Quando os access tokens são gerados, o usuário que eles representam está confiando ao seu aplicativo a responsabilidade de mantê-los seguros. Se a segurança das API keys e dos access tokens do usuário for comprometida, seu aplicativo poderá expor o acesso a informações privadas e à funcionalidade da conta. Encorajamos você a aprender mais sobre proteger chaves e access tokens.

Ferramentas úteis

O processo de assinar uma requisição é complicado. Recomendamos que você use uma biblioteca cliente de API que gera automaticamente boa parte do token de autenticação: