Autenticação de API

Introdução a APIs em Python

Chris Ramakers

Engineering Manager

Acessando dados sensíveis

Uma pessoa tenta acessar álbuns de música via um cliente. A solicitação vai pela Internet para um servidor via API, mas recebe "401 Unauthorized".

Introdução a APIs em Python

Acessando dados sensíveis

Uma pessoa acessa álbuns via um cliente, informando usuário e senha. A solicitação vai pela Internet para um servidor via API e recebe "200 OK", indicando acesso bem-sucedido.

Introdução a APIs em Python

Métodos de autenticação

Método Facilidade de implementação Nível de segurança
Autenticação Básica ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ☆ ☆ ☆ ☆
Autenticação por chave/token ⭐ ⭐ ⭐ ⭐ ☆ ⭐ ⭐ ☆ ☆ ☆
Autenticação JWT ⭐ ⭐ ⭐ ☆ ☆ ⭐ ⭐ ⭐ ⭐ ☆
OAuth 2.0 ⭐ ⭐ ☆ ☆ ☆ ⭐ ⭐ ⭐ ⭐ ⭐

 

Dica: consulte a documentação da API que você usa para saber qual método de autenticação aplicar!

Introdução a APIs em Python

Autenticação básica

Autenticação básica com o pacote requests

# Isso adiciona automaticamente um cabeçalho Basic Authentication antes de enviar a requisição
requests.get('http://api.music-catalog.com', auth=('username', 'password'))
Introdução a APIs em Python

Autenticação por chave/token

Usando um parâmetro de consulta

http://api.music-catalog.com/albums?access_token=faaa1c97bd3f4bd9b024c708c979feca
params = {'access_token': 'faaa1c97bd3f4bd9b024c708c979feca'}
requests.get('http://api.music-catalog.com/albums', params=params)

Usando o cabeçalho de autorização "Bearer"

headers = {'Authorization': 'Bearer faaa1c97bd3f4bd9b024c708c979feca'}
requests.get('http://api.music-catalog.com/albums', headers=headers)
Introdução a APIs em Python

Vamos praticar!

Introdução a APIs em Python

Preparing Video For Download...