API-Authentifizierung

Einführung in APIs mit Python

Chris Ramakers

Engineering Manager

Zugriff auf sensible Daten

Ein Nutzer versucht, über einen Client auf Musikalben zuzugreifen. Die Anfrage geht über das Internet per API an einen Server, erhält aber "401 Unauthorized".

Einführung in APIs mit Python

Zugriff auf sensible Daten

Ein Nutzer greift über einen Client mit Benutzername und Passwort auf Musikalben zu. Die Anfrage geht per API an einen Server und erhält "200 OK" für erfolgreichen Zugriff.

Einführung in APIs mit Python

Authentifizierungs­methoden

Methode Implementierungsaufwand Sicherheitsstufe
Basic-Authentifizierung ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ☆ ☆ ☆ ☆
API-Schlüssel/-Token ⭐ ⭐ ⭐ ⭐ ☆ ⭐ ⭐ ☆ ☆ ☆
JWT-Authentifizierung ⭐ ⭐ ⭐ ☆ ☆ ⭐ ⭐ ⭐ ⭐ ☆
OAuth 2.0 ⭐ ⭐ ☆ ☆ ☆ ⭐ ⭐ ⭐ ⭐ ⭐

 

Tipp: Schau in die Doku der API, welche Auth-Methode verwendet wird!

Einführung in APIs mit Python

Basic-Authentifizierung

Basic-Authentifizierung mit dem requests-Paket

# Fügt automatisch einen Basic-Auth-Header hinzu, bevor die Anfrage gesendet wird
requests.get('http://api.music-catalog.com', auth=('username', 'password'))
Einführung in APIs mit Python

API-Schlüssel/Token-Authentifizierung

Mit Query-Parameter

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

Mit "Bearer"-Autorisierungsheader

headers = {'Authorization': 'Bearer faaa1c97bd3f4bd9b024c708c979feca'}
requests.get('http://api.music-catalog.com/albums', headers=headers)
Einführung in APIs mit Python

Lass uns üben!

Einführung in APIs mit Python

Preparing Video For Download...