generator - Qual è la lunghezza del token di accesso in Facebook OAuth2?





graph api (7)


Dalla sezione 1.4 del The OAuth 2.0 Authorization Protocol ( draft-ietf-oauth-v2-22 )

I token di accesso possono avere diversi formati, strutture e metodi di utilizzo (ad esempio proprietà crittografiche) in base ai requisiti di sicurezza del server delle risorse. Gli attributi dei token di accesso e i metodi utilizzati per accedere alle risorse protette vanno oltre lo scopo di questa specifica e sono definiti dalle specifiche del compagno.

Ho cercato le "specifiche companion" ma non ho trovato nulla di rilevante e nella sezione 11.2.2 si afferma

o Nome parametro: access_token
o Posizione di utilizzo dei parametri: risposta all'autorizzazione, risposta token
o Cambia controller: IETF
o Documenti di specifica: [[questo documento]]

Il che sembra indicare che il parametro access_token è definito all'interno di questa specifica. Quale indovino il parametro è ma il token di accesso reale non è completamente spiegato.

Aggiornamento: l'ultima versione di questa scrittura della specifica ( draft-ietf-oauth-v2-31 ) include un'appendice che definisce meglio cosa aspettarsi dal parametro access_token

A.12. Sintassi "access_token"

The "access_token" element is defined in Section 4.2.2 and
Section 5.1:

  access-token = 1*VSCHAR

Quindi, in sostanza, ciò significa che il token di accesso deve essere lungo almeno 1 carattere, ma non esiste un limite per quanto tempo è definito in questa specifica.

Nota che definiscono VSCHAR =% x20-7E

Ho cercato su Google e per trovare una risposta alla mia domanda ma non riesco a trovarne una.

Vorrei memorizzare access_token nel mio database per l'accesso offline e mi piacerebbe essere sicuro di specificare la lunghezza corretta della mia colonna.

Non riesco nemmeno a trovare se è solo un numero o un mix tra numero e archi.




Questa risposta non è più corretta e non riesco a trovare un valore corretto nei documenti di FB. Abbiamo ricevuto token di accesso più lunghi di 255 caratteri. Stiamo passando da VARCHAR a SMALLTEXT invece di provare a cose a prova di futuro.




Lavoro su Facebook e posso dare una risposta definitiva a questo.

Si prega di non inserire una dimensione massima nella memoria per un token di accesso. Ci aspettiamo che crescano e si riducano nel tempo mentre aggiungiamo e rimuoviamo i dati e cambiamo il modo in cui sono codificati.

Abbiamo dato una guida in un unico posto a proposito di 255 caratteri. Ho aggiornato il post sul blog che conteneva tali informazioni e ha aggiornato i nostri nuovi documenti sui token di accesso per includere una nota sulle dimensioni:

https://developers.facebook.com/docs/facebook-login/access-tokens/

Dispiace per la confusione.




Con il recente spostamento di Facebook su token di accesso crittografati, la lunghezza del token di accesso può essere di 255 caratteri. Se stai memorizzando il token di accesso nel tuo database, la colonna dovrebbe essere in grado di contenere almeno varchar (255). Ecco un estratto dal blog degli sviluppatori di Facebook del 4 ottobre 2011:

"Con la migrazione del token di accesso crittografato abilitata, il formato del token di accesso è cambiato.Il nuovo formato di token di accesso è completamente opaco e non è necessario prendere alcuna dipendenza dal formato nel codice. Un campo varchar (255) sarà sufficiente per memorizzare i nuovi token. "

Post completo del blog qui: https://developers.facebook.com/blog/post/572




Il token di accesso di Facebook può essere più lungo di 255 caratteri. Ho avuto un sacco di errori come ActiveRecord::StatementInvalid: PG::StringDataRightTruncation: ERROR: value too long for type character varying(255) dove il valore era token di accesso di Facebook. Non utilizzare string colonna di tipo string perché la sua lunghezza è limitata. Puoi utilizzare la colonna del tipo di text per memorizzare i token.




Di recente, la nostra app li ha visti più di 100 caratteri. Sto ancora cercando la documentazione in modo da poter calcolare una dimensione del campo 'sicura' per loro.




Puoi utilizzare AppID e Chiave segreta per ottenere i post pubblici / feed di qualsiasi pagina. In questo modo non è necessario ottenere il token di accesso. Chiamalo come sotto

https://graph.facebook.com/PAGE-ID/feed?access_token=APP-ID|APP-SECRET

E per ottenere messaggi.

https://graph.facebook.com/PAGE-ID/posts?access_token=APP-ID|APP-SECRET




facebook oauth