Access Token opslaan in database?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

G Jansma

G Jansma

20/01/2021 16:20:02
Quote Anchor link
Hallo,

Ik ben bezig met het implementeren van de Instagram Basic Display API in mijn website. Het idee is om gebruikers de mogelijkheid te geven om hun laatste Instagram foto's te laten tonen op hun pagina op mijn website. Ik ben niet heel bekend met API's.

Ik heb het voor elkaar gekregen zoals ik het wil en voor me zie, maar mijn vraag is of ik het Access Token direct in de database mag opslaan? Of is dat vanuit veiligheidsoverwegingen niet de bedoeling? Om de foto's op de pagina te tonen heb ik telkens dat Access Token nodig. Is dat Access Token van de gebruiker uniek in combinatie met mijn App? Het Access Token is in principe 60 dagen geldig en moet binnen die tijd vernieuwd worden.

Groet
Gewijzigd op 20/01/2021 16:20:55 door G Jansma
 
PHP hulp

PHP hulp

02/03/2021 16:08:29
 
- Ariën -
Beheerder

- Ariën -

20/01/2021 16:59:17
Quote Anchor link
Ik ken de API van Instagram niet, maar volgens mij is er een algemene end-point voor de API die de laatste feeds van een bepaalde user toont. Daar hoef je niet bij de user om (lastige) API-codes te vragen.
 
G Jansma

G Jansma

20/01/2021 17:26:48
Quote Anchor link
Hier kan je meer vinden over de Instagram API:
https://developers.facebook.com/docs/instagram-basic-display-api

Guides:
https://developers.facebook.com/docs/instagram-basic-display-api/guides/getting-access-tokens-and-permissions

Schijnt dat er recent 'major changes' zijn geweest voor de Instagram API:
https://embedsocial.com/blog/instagram-api-changes-2020/

Ze hebben nu twee varianten, eentje waarbij je ook kan reageren etc (Graph API) en eentje waarbij je alleen de foto's kan laten zien (Basic Display API). Ik ben bezig met die tweede variant.

Maar de gebruiker moet eerst toestemming geven aan de App door middel van de Authorization. Het accepteren daarvan is het enige dat de gebruiker zelf hoeft te doen. De gebruiker hoeft zelf dus niks met API-codes te doen. Daarna wordt de gebruiker geredirect en kan je de ?code=... uit die redirect link halen en via cURL inwisselen voor een access token. En die kortlevende token kan je weer inwisselen voor een langlevende token.

Maar om dus de User Media op te halen heb je uiteindelijk dus het Access Token nodig:
https://developers.facebook.com/docs/instagram-basic-display-api/guides/getting-profiles-and-media
 
Rob Doemaarwat

Rob Doemaarwat

20/01/2021 18:53:18
Quote Anchor link
Die tokens zijn (zo te zien) aan jouw client_id gekoppeld. En je kunt ze "kort" gebruiken (geen idee hoe kort) nadat je ze icm je client_secret hebt "ingewisseld". Mocht je database dus lekken, dan heb je niks aan die tokens (tenzij ze ook meteen je client_secret er bij jatten). Maar in dat geval kun je (jij, als app ontwikkelaar) dus altijd nog je client_id (App ID) terugtrekken (en een nieuw aanmaken).

Dit hele circus is hier ook juist voor bedoeld (dat er geen "waardevolle" informatie bij een 3e partij terecht komt). Vroeger werkte zoiets vaak via "geef ons je gebruikersnaam + wachtwoord, en dan post-en wij wat dingen voor je", maar als een database dan "op straat lag" lag ook meteen je hele account te grabbel. Dmv deze tokens is je account altijd veilig, hooguit wat tijdelijk ongemak (een gebruiker kan een app ook altijd de toegang ontzeggen).
 
G Jansma

G Jansma

20/01/2021 20:13:52
Quote Anchor link
Ok, zo schatte ik het zelf eigenlijk ook in, maar omdat ik niet zo bekend ben met API's en access tokens wilde ik het toch even navragen. De veiligheid staat toch voorop. Het access token leek me inderdaad ook specifiek te zijn voor mijn App, en dan zijn de gevolgen in geval van een lek beperkt ja. Bedankt voor jullie hulp!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.