Beste
Ik ben bezig met een vrij typische applicatie die bestaat uit een API en een frontend.
Authenticatie met mijn eigen backend is simpel, je stuurt een gebruikersnaam/wachtwoord door naar de login endpoint en krijgt een bearer token en refresh token om respectievelijk afzonderlijke requests te doen en na 30 minuten of een uur een nieuwe bearer token aan te vragen.
Maar nu kom ik bij de eigenlijke vraag: Wat met 3rd party OAuth providers? Ik zou graag hebben dat klanten kunnen inloggen met hun Google credentials. Ik heb een oplossing hoe het zou kunnen werken:
Frontend heeft knopje 'Login with Google', na het authenticeren met Google krijgt mijn frontend via een callback een access token van Google.
Frontend stuurt de access token van Google door naar API.
API fetched de userinfo van Google en kijkt of het emailadres overeenkomt met een gebruiker in mijn systeem.
API geeft een bearer en refresh token uit (net zoals in de eerste paragraaf)
Is dat de manier om het te doen? Of moet ik als callback (redirect URL) naar Google onmiddellijk naar mijn API verwijzen? Dat lijkt veiliger, maar dan lijkt het me moeilijker om een bearer en refresh token naar de frontend te sturen (aangezien er geen request is vanuit de frontend naar API)
Bedankt voor alle opmerkingen, wijze raden en andere nuttige inbreng!
Ik ben bezig met een vrij typische applicatie die bestaat uit een API en een frontend.
Authenticatie met mijn eigen backend is simpel, je stuurt een gebruikersnaam/wachtwoord door naar de login endpoint en krijgt een bearer token en refresh token om respectievelijk afzonderlijke requests te doen en na 30 minuten of een uur een nieuwe bearer token aan te vragen.
Maar nu kom ik bij de eigenlijke vraag: Wat met 3rd party OAuth providers? Ik zou graag hebben dat klanten kunnen inloggen met hun Google credentials. Ik heb een oplossing hoe het zou kunnen werken:
Frontend heeft knopje 'Login with Google', na het authenticeren met Google krijgt mijn frontend via een callback een access token van Google.
Frontend stuurt de access token van Google door naar API.
API fetched de userinfo van Google en kijkt of het emailadres overeenkomt met een gebruiker in mijn systeem.
API geeft een bearer en refresh token uit (net zoals in de eerste paragraaf)
Is dat de manier om het te doen? Of moet ik als callback (redirect URL) naar Google onmiddellijk naar mijn API verwijzen? Dat lijkt veiliger, maar dan lijkt het me moeilijker om een bearer en refresh token naar de frontend te sturen (aangezien er geen request is vanuit de frontend naar API)
Bedankt voor alle opmerkingen, wijze raden en andere nuttige inbreng!