Come implementare il collegamento magico accedi con oAuth2

0

Abbiamo due applicazioni web. Uno è sviluppato in Django, chiamiamolo portale (fornitore oAuth2). Un altro è sviluppato in PHP, chiamiamolo client.

Vogliamo visualizzare un collegamento per gli utenti autenticati sul sito web del portale, in modo che facendo clic sul collegamento l'utente sia automaticamente connesso al sito Web del cliente. Nessuna password richiesta, il sito Web del cliente dovrebbe essere aperto e l'utente dovrebbe essere già registrato sul sito Web del cliente.

È possibile implementare un tale collegamento magico usando oAuth2 o dobbiamo creare la nostra soluzione?

    
posta Eugene Morozov 20.11.2018 - 11:09
fonte

1 risposta

1

Sì, potresti usare OAuth2 per questo szenario, tuttavia penso che OAuth2 sia un po 'troppo overhead per questo particolare use case.

Ciò che fondamentalmente vuoi è un JWT (Token Web Json). Dopo l'autenticazione con il portale, crea un token JWT. Questo token contiene alcune informazioni sull'utente, forse il suo nome utente / mail e le sue autorizzazioni. Inoltre, questo token viene firmato con la parte privata di una coppia di chiavi asimmetriche - solo il portale conosce questa chiave privata. Quando si accede all'applicazione client, si passa il token come un'intestazione http (probabilmente l'intestazione di autorizzazione) con la richiesta. La tua app client conosce la parte pubblica della coppia di chiavi asimmetrica in modo che possa verificare il token. Quando il token è verificato e non è scaduto, l'utente viene autenticato nell'app client. Qui puoi anche controllare alcune autorizzazioni che sono incluse nel token.

Puoi leggere informazioni su JWT qui: link

    
risposta data 20.11.2018 - 13:23
fonte

Leggi altre domande sui tag