Pubblicato il

Social login

Social login, o autenticazione tramite piattaforme di terze parti, come Google, Facebook, Twitter, Linkedin, etc.

Google


Google Sign-In for server-side apps

fonte: https://developers.google.com/identity/sign-in/web/server-side-flow
vedi anche: https://www.riccardofabiani.it/blog/oauth/

Quando l’utente conferma la sua identità facendo il login sulla “dialog window” invia al mio server un codice univoco authorization-code es.: ( {"code":"4/yU4cQZTMnnMtetyFcIWNItG32eKxxxgXXX-Z4yyJJJo.4qHskT-UtugceFc0ZRONyF4z7U4UmAI"} )  che può essere “barattato” con un “access token” e un “refresh token”.

  1. utente si logga con user e password sulla “dialog window
  2. Google restituisce al mio server un codice univoco
  3. il mio server può usare il codice univoco per ottenere access-token + “refresh-token; o solo il “refresh token” se l’utente è offline.
    nb: devi memorizzarti il “refresh token” per riutilizzarlo durante le transazioni di scambio info con google anche quando l’utente non è loggato a google.

 

  • Sul server, scambia l’authorization-code per l’access-token e il refresh-token.
  • Utilizza access-token per chiamate GoogleAPI per conto dell’utente
  • (opzionale) Salva sul DB il refresh-token per ottenere successivamente nuovi “access token” (per conto dell’utente) man mano che scadono.
  • Se hai richiesto l’accesso al profilo, ottieni anche un ID-token che contiene le informazioni di base del profilo per l’utente.