2011-11-11 37 views
5

OpenID、Facebook、TwitterなどのOAuthによるログインを許可する場合、将来の認証のためにOathプロバイダが提供するアクセストークンをmysqlデータベースに保存します。いくつかのチュートリアルでは、アクセストークンを保存する列はvarchar(255)で、一部はtextです。アクセストークン(facebookやtwitterなどの一般的なウェブサイトで)がtext列を必要とする255文字よりも長いのだろうか。この可能性を考慮する必要がありますか?トークンにアクセスできる文字数が255文字を超えていますか?

+0

仕様:「アクセストークンの文字列サイズはこの仕様では未定義のままです。」 - https://tools.ietf.org/html/rfc6749#section-4.2.2 –

答えて

3

私の経験から、FacebookやTwitterの問題に取り組むことはできません(3年以上経っても私のシステムでは長さ255のシステムに問題はありませんでした)。クアラでこの質問をすばやく検索できましたhttp://www.quora.com/OAuth-1/Whats-the-maximum-length-of-an-OAuth-access-token-key-secret-pair

この回答は信じられないほど古いものであり、間違っています。最新の回答を見てください。アクセストークンのサイズを制限しないでください。

+0

あなたは答えを読むためにquoraにサインアップしなければなりません。そこにある答えの真髄は何ですか? –

+3

エキスパート・エクスチェンジにリンクしている場合もあります。 Quoraの回答の要点は次のとおりです。長さは仕様には記載されていません。受け入れられるトークンのサイズを明示的に制限するべきではありません。 yahooのトークンはquoraの回答時に約400文字でした。 facebookのトークンは、異なるquoraの答えの時に約344文字でした。 – Kevin

3

これは古くなったようです... Facebookは、少なくとも60日間のトークン(オフラインアクセスを代用するトークン)以上の255文字以上のトークンを送信することがあります。

あなたはこれをチェックしましたrelated question

+0

私はこれに問題があったことに同意します。彼らは最近(先週)より大きなIDを発行し始めました。 – covati

+0

ええ、私のデータベースをねじ込みました... xD – Daren

27

私はFacebookで働いており、私はこれについて明確な答えを与えることができます。

アクセストークンのストレージに最大サイズを設定しないでください。データを追加したり削除したり、エンコード方法を変更したりすることで、時間の経過とともに成長し、縮小することが期待されます。

私たちは1桁で255文字のガイダンスを出しました。私はその情報を持っていたブログの記事を更新し、サイズに関するメモを含めるように私たちの新しいアクセストークンのドキュメントを更新しました:混乱のため

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

は申し訳ありません。

+2

これは受け入れられた答えでなければなりません - ちょうどvarchar(255)のデータベース列に問題があり、260文字のFacebook OAuthトークンがあります。 –

関連する問題