2012-12-18 19 views
5

Questa potrebbe essere una domanda offensivamente stupida, ma non riesco a trovare una risposta rapida e concisa per la vita di me. Quindi eccoci qui ...Differenze di OAuth Token tra Facebook e Twitter/LinkedIn

Attualmente sto implementando la funzionalità di Facebook, Twitter e LinkedIn Post/Aggiorna/Condividi all'interno di un'app Web C#/MVC4. Ho le app appropriate create su ciascun social network, che un utente dell'app Web può autorizzare (tramite i dialoghi standard OAuth di ogni rete), in modo che possano inviare un aggiornamento del profilo a più/tutte le reti con un solo clic. Ho completato lo sviluppo di questa funzionalità e tutto funziona come progettato; Ora sono in una fase di refactoring del codice e dello schema db associato (utilizzato per memorizzare i token OAuth necessari per le app e gli utenti, le informazioni utente estese tratte dall'API della rete particolare, le metriche delle singole post, ecc.), Che è dove Sono rimasto a grattarmi la testa.

Senza ulteriori esitazioni ... le domande:

  1. quanto riguarda Gettoni OAuth per applicazioni: Perché Facebook forniscono solo/richiedono un "App Secret", mentre sia Twitter e LinkedIn offrono/richiedono sia una "Consumer Key" e "Consumer Secret"?

  2. Riguardo ai token OAuth per gli utenti di app: Perché Facebook fornisce/richiede solo un "token di accesso" mentre sia Twitter che LinkedIn forniscono/richiedono sia un "token di accesso" che un "token secret di accesso"?

È questo semplicemente a causa di una differenza nelle versioni di protocollo OAuth attuate da Facebook (2,0 progetto 12) vs Twitter e LinkedIn (1.0a), o è qualcosa di completamente diverso?

+1

Sì, la differenza è tra OAuth 2.0 e OAuth 1.0, ovviamente Twitter e Linkedin utilizzano anche 2.0. –

risposta

1

Ecco le risposte alle vostre domande,

1.Facebook forniscono sia chiave App e segreta App sulla registrazione di un app come sviluppatore di Facebook.

2.Facebook utilizza OAuth 2.0 in modo che fornisca solo un token di accesso e un token di aggiornamento (il token di aggiornamento è fornito solo se si richiede l'accesso offline durante la specifica degli ambiti), il token di accesso ha validità di 1 ora, dopodiché ottiene invalidato, è necessario aggiornarlo o ottenere del tutto nuovo token di accesso.

Questa differenza è dovuta alla variazione nelle versioni del protocollo OAuth OAuth 1.0/1.0a e OAuth 2.0.

+1

offline_access è deprecato. Puoi comunque ottenere un token di tre mesi. – ThiefMaster

+0

sì, più informazioni su http://developers.facebook.com/roadmap/offline-access-removal/ – Cris

Problemi correlati