98 votes

Quelle est la durée de l’access_token dans Facebook OAuth2 ?

J’ai cherché sur Google et StackOverflow pour trouver une réponse à ma question, mais je ne peux pas en trouver un.

Je tiens à stocker l’access_token pour ma base de données pour accès en mode déconnecté et je voudrais être sûr spécifier la longueur correcte de ma colonne.

Je peux même pas trouver si c’est juste un numéro ou un mélange entre nombre et cordes.

Je vous remercie pour votre aide !

127voto

Je travaille à Facebook et je peux vous donner une réponse définitive à ce sujet.

Merci de ne pas mettre une taille maximale de stockage pour un jeton d'accès. Nous nous attendons à ce qu'ils seront à la fois de grandir et rétrécir au fil du temps comme nous d'ajouter et de supprimer des données et changer la façon dont ils sont codés.

Nous avons fait de donner des conseils dans un lieu à ce sujet en cours de 255 caractères. J'ai mis à jour le post de blog qui avait que des informations et des mises à jour de notre nouveau jeton d'accès docs d'inclure une note à propos des tailles:

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

Désolé pour la confusion.

70voto

Johnny Oshika Points 15580

Avec Facebook récent de chiffrement des jetons d'accès, la longueur du jeton d'accès peut comporter jusqu'à 255 caractères. Si vous êtes à stocker le jeton d'accès à votre base de données, la colonne doit être en mesure d'accueillir au moins varchar(255). Voici un extrait de Facebook du blog des Développeurs du 4 octobre 2011:

"Avec la Chiffré Jeton d'Accès de la migration activé, le format du jeton d'accès a changé. Le nouveau jeton d'accès de format est totalement opaque et vous ne devriez pas prendre de dépendance sur le format dans votre code. Un varchar(255) champ sera suffisant pour stocker les nouveaux jetons."

Article complet ici: https://developers.facebook.com/blog/post/572

28voto

rodbegbie Points 168

Cette réponse n’est donc plus correcte, et je ne peux pas trouver une valeur corrigée dans les docs de FB. Nous avons reçu des jetons d’accès qui sont plus de 255 caractères. Nous nous dirigeons de VARCHAR pour un quotidien plutôt tenter de choses pérenne.

9voto

Josh Points 1032

À partir de la section 1.4 de l' The OAuth 2.0 Authorization Protocol (draft-ietf-oauth-v2-22)

Les jetons d'accès peuvent avoir des formats différents, des structures et des méthodes de d'utilisation (par exemple, les propriétés cryptographiques) basé sur le serveur de ressources en matière de sécurité. Jeton d'accès aux attributs et les méthodes utilisées pour accéder à des ressources protégées sont au-delà de la portée de ce cahier des charges, et sont définis par le compagnon de spécifications.

J'ai regardé pour le "compagnon cahier des charges", mais ne trouve rien de pertinent et dans la section 11.2.2 c'unis

o nom du Paramètre: access_token
o l'utilisation de paramètres de localisation: autorisation réponse, jeton de réponse
o Changement de contrôleur: IETF
o document de Spécification(s): [[ ce document ]]

Ce qui semble indiquer que l'access_token paramètre est défini dans cette spécification. Qui, j'imagine, le paramètre est, mais le jeton d'accès n'est pas entièrement développé.

Mise à jour: La dernière version de cette écriture de la spécification (draft-ietf-oauth-v2-31) comprend une annexe qui définit mieux à quoi s'attendre de l'access_token paramètre

A. 12. "access_token" Syntaxe

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

  access-token = 1*VSCHAR

Donc, essentiellement, ce que cela signifie, c'est que l'access_token doit être d'au moins 1 caractère de long, mais il n'y a aucune limite sur combien de temps défini dans la présente spécification.

Remarque ils définissent VSCHAR = %x20-7E

4voto

palinium Points 76

Jeton d’accès de Facebook peut être plu de 255 caractères. J’ai eu beaucoup d’erreurs comme où la valeur était de jeton d’accès de facebook. Ne pas utiliser colonne de type parce que sa longueur est limitée. Vous pouvez utiliser `` colonne type pour stocker les jetons.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X