Welkom bij de OAuth-server
Deze server implementeert OAuth 2.0:
Aan de slag
Om deze OAuth-server te gebruiken, neem contact met ons op om een OAuth-applicatie aan te vragen.
Geef een korte beschrijving van de applicatie die je maakt, samen met de onderstaande details. Geen zorgen als je het niet zeker weet - we kunnen de beschrijving die je geeft gebruiken om te helpen.
- Het client-type: openbaar of vertrouwelijk?
- Het grant-type: autorisatie, client-credentials of apparaat?
- De toegestane omleidings-URI's.
- De bronnen waartoe u toegang wilt hebben. Verken onze API-documentatie en onze GraphQL API.
Voorbeeld (autorisatie)
3. Wissel autorisatiecode in voor toegangstoken
Jouw handler op YOUR_REDIRECT_URI moet de volgende aanroep uitvoeren:
POST https://auth.anwb-kraken.energy/token/
Content-Type: application/x-www-form-urlencoded
client_id=YOUR_CLIENT_ID&
client_secret=CLIENT_SECRET& # weglaten voor openbare clients
grant_type=authorization_code&
code=AUTH_CODE&
redirect_uri=YOUR_REDIRECT_URI&
code_verifier=YOUR_CODE_VERIFIER
Als je van plan bent om deze aanroep vanuit de frontend te doen, moet de OAuth-applicatie openbaar zijn en moet het geheim uit het verzoek worden weggelaten.
Als je van plan bent om deze aanroep vanuit de backend te doen, moet de OAuth-applicatie vertrouwelijk zijn en moet het geheim in het verzoek worden opgenomen.
Voorbeeld (clientreferenties)
1. Wissel referenties in voor een toegangstoken
POST https://auth.anwb-kraken.energy/token/
Authorization: Basic BASE64_ENCODED(client_id:client_secret)
Content-Type: application/x-www-form-urlencoded
grant_type=client_credentials
2. Toegang tot beveiligde bron
GET https://api.anwb-kraken.energy/resource/
Authorization: YOUR_ACCESS_TOKEN
Voorbeeld (apparaat)
2. Wissel apparaatcode in voor toegangstoken
Terwijl de gebruiker autoriseert, moet het apparaat periodiek proberen een toegangstoken te verkrijgen (met een frequentie gespecificeerd door de interval in seconden):
POST https://auth.anwb-kraken.energy/token/
Content-Type: application/x-www-form-urlencoded
client_id=YOUR_CLIENT_ID&device_code=DEVICE_CODE&grant_type=urn:ietf:params:oauth:grant-type:device_code
3. Toegang tot beveiligde bron
GET https://api.anwb-kraken.energy/resource/
Authorization: YOUR_ACCESS_TOKEN
Voorbeeld (token-uitwisseling)
RFC 8693 delegatie-semantiek wordt ondersteund. Dit betekent dat u het client-referentie-token gebruikt in zowel de Authorization-header als het actor_token, zoals hieronder weergegeven.
1. Haal een toegangstoken op voor uw client-referentie-app, zoals beschreven in Voorbeeld (clientreferenties).
2. Ervan uitgaande dat EXTERNAL_IDP_USER_ACCESS_TOKEN is uitgegeven door uw externe IdP, voert u de token-uitwisselingsaanroep uit:
POST https://auth.anwb-kraken.energy/token
Authorization: YOUR_CLIENT_CREDENTIALS_ACCESS_TOKEN
Content-Type: application/x-www-form-urlencoded
grant_type="urn:ietf:params:oauth:grant-type:token-exchange"&
actor_token_type="urn:ietf:params:oauth:token-type:access_token"&
actor_token=YOUR_CLIENT_CREDENTIALS_ACCESS_TOKEN&
subject_token_type="urn:ietf:params:oauth:token-type:access_token"&
subject_token=EXTERNAL_IDP_USER_ACCESS_TOKEN
3. Toegang tot beveiligde bron
GET https://api.anwb-kraken.energy/resource/
Authorization: YOUR_ACCESS_TOKEN