Anche se non l'ho ancora implementato, intendo e ho letto più volte la bozza di OAuth 1 RFC e OAuth 2. A differenza di OAuth 1 RFC, la bozza di OAuth 2 contiene molti dettagli su come implementare il server e troverai tutti i dettagli necessari nella bozza.
Ciò di cui avrai bisogno prima di capire è il tuo gruppo target di clienti poiché ciò ti aiuterà a decidere quali metodi di autorizzazione devi supportare.
App Web? Controlla link
App JS? link
App desktop? link (se l'utente si fida della tua app con le sue credenziali)
Il protocollo si riduce fondamentalmente a generare token utilizzando funzioni crittografiche adeguate e codificando e inviando i parametri correttamente. Per un esempio di come potrebbe apparire la comunicazione, vai al spazio giochi Google OAuth 2 .
Ad esempio, la bozza indica chiaramente che quando un client richiede l'autorizzazione come 4.1 (autorizzazione del codice di autorizzazione) fornisce i campi obbligatori response_type e client_id insieme ai due campi facoltativi redirect_uri e scope, nonché il campo dello stato consigliato. Nell'implementazione del server si estraggono e convalidano tali parametri (è possibile definire ulteriori parametri obbligatori), autorizzano l'utente e se tutto è ben reindirizzato al client di reindirizzamento specificato uri (inclusa una concessione di autorizzazione).
Le modalità di autenticazione dei client possono variare, ma le specifiche suggeriscono che l'utilizzo di Autenticazione HTTP funzionerebbe correttamente per le app Web (ma non app dove nascondere le credenziali del cliente è difficile)
È molto importante che tutte le comunicazioni siano su un canale sicuro (TLS / SSL). OAuth non è un sostituto di TLS / SSL.
Buona fortuna!