Non sono sicuro di quale servizio OAuth si sta tentando di connettersi, quindi userò semplicemente Twitter come esempio. Dopo aver creato l'oggetto OAuth è necessario prima richiedere un token oauth. Quando ottieni quel token, devi reindirizzare a, per Twitter, la loro pagina di autenticazione che li richiede di accedere, quindi chiede se è possibile che l'app effettui l'accesso.
oa.getOAuthRequestToken(function(error, oauth_token, oauth_token_secret, results){
if (error) new Error(error.data)
else {
req.session.oauth.token = oauth_token
req.session.oauth.token_secret = oauth_token_secret
res.redirect('https://twitter.com/oauth/authenticate?oauth_token='+oauth_token)
}
});
Quando hai creato l'oggetto OAuth per la prima volta, hai impostato un URL di risposta o l'url di richiamata. Può essere qualsiasi cosa, per la mia app è just/oauth/callback. In tale callback si riceve il token di verifica oauth. Quindi si utilizza il token di richiesta oauth e il token di verifica oauth per richiedere i token di accesso. Quando ricevi i token di accesso, riceverai anche qualcos'altro che passano, come il loro nome utente.
app.get('/oauth/callback', function(req, res, next){
if (req.session.oauth) {
req.session.oauth.verifier = req.query.oauth_verifier
var oauth = req.session.oauth
oa.getOAuthAccessToken(oauth.token,oauth.token_secret,oauth.verifier,
function(error, oauth_access_token, oauth_access_token_secret, results){
if (error) new Error(error)
console.log(results.screen_name)
}
);
} else
next(new Error('No OAuth information stored in the session. How did you get here?'))
});
Spero che questo aiuti! Ho avuto gli stessi problemi quando ho iniziato su questo.
Grazie mille per questo! Come l'hai capito? Prova ed errore o hai trovato un buon tutorial? – Thomas
Non ho davvero trovato un tutorial. Pensato principalmente andando sulla documentazione di twitter oauth e rovistando attraverso la fonte del modulo oauth – mattmcmanus