Stiamo provando a consentire a un'applicazione Web di terze parti attendibile di autenticare automaticamente gli utenti nella nostra applicazione. Abbiamo pensato di utilizzare oauth2 per questo.
Nel nostro scenario forniremmo un server oauth2 e l'iniziale stretta di mano sarebbe simile a questa (che imho è il normale meccanismo a 3 gambe oauth2). Diciamo che acme
è il nome del nostro servizio.
- L'app di terze parti ha un pulsante
connect to acme
- L'utente fa clic su quel pulsante e viene reindirizzato al servizio acme
- L'utente accede tramite accesso basato su modulo sul sito acme
- Il servizio Acme presenta all'utente la finestra di dialogo
3rd party wants to access your account
- L'utente fa clic su
accept
- Il servizio Acme genera un token oauth2 e reindirizza a terze parti
- La terza parte memorizza il token generato per future interazioni con il servizio acme
Ora, se la sessione sul sito Web di acme è scaduta, l'app di terze parti potrebbe automaticamente rianalizzare l'utente nell'applicazione Web di acme inviando una richiesta Ajax a un endpoint di autenticazione sul server di ACME.
Invia il token memorizzato in precedenza tramite https come intestazione http all'endpoint acme, dove il server oauth2 convaliderà il token e autentificherà l'utente associato nell'applicazione web.
Ci chiediamo se questo implica qualche problema di sicurezza o se questo è un modello oauth2 sicuro per la riautenticazione automatica dei token oauth2 esistenti con un sito web di fornitori oauth2.