API-autentisering

Introduktion till API:er i Python

Chris Ramakers

Engineering Manager

Åtkomst till känsliga data

En användare som försöker komma åt musikalbum via en klient. Begäran skickas över internet till en server via ett API men får svaret "401 Unauthorized".

Introduktion till API:er i Python

Åtkomst till känsliga data

En användare som kommer åt musikalbum via en klient och anger användarnamn och lösenord. Begäran skickas över internet till en server via ett API och får svaret "200 OK", vilket bekräftar lyckad åtkomst.

Introduktion till API:er i Python

Autentiseringsmetoder

Metod Implementeringskomplexitet Säkerhetsnivå
Basic Authentication ⭐ ⭐ ⭐ ⭐ ⭐ ⭐ ☆ ☆ ☆ ☆
API key/token Authentication ⭐ ⭐ ⭐ ⭐ ☆ ⭐ ⭐ ☆ ☆ ☆
JWT Authentication ⭐ ⭐ ⭐ ☆ ☆ ⭐ ⭐ ⭐ ⭐ ☆
OAuth 2.0 ⭐ ⭐ ☆ ☆ ☆ ⭐ ⭐ ⭐ ⭐ ⭐

 

Tips: Läs dokumentationen för det API du använder för att ta reda på vilken autentiseringsmetod som gäller!

Introduktion till API:er i Python

Basic-autentisering

Basic-autentisering med requests-paketet

# This will automatically add a Basic Authentication header before sending the request
requests.get('http://api.music-catalog.com', auth=('username', 'password'))
Introduktion till API:er i Python

API-nyckel/token-autentisering

Med en frågeparameter

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

Med "Bearer"-auktoriseringsheadern

headers = {'Authorization': 'Bearer faaa1c97bd3f4bd9b024c708c979feca'}
requests.get('http://api.music-catalog.com/albums', headers=headers)
Introduktion till API:er i Python

Nu kör vi en övning!

Introduktion till API:er i Python

Preparing Video For Download...