auth_token と ct0。同じ「トークン」で二種類あります
日本語の「twitter トークン」は二つの別物に割れています。ログイン用のものと、開発者向けのものです。まずそこを分けて、次に出品九百十五件を数えて分かったことを書きます。トークン付きの四分の三に ct0 は入っていません。
Sarah Johnson先に用語を割ります。日本語で「twitter トークン」と調べると、候補が二つの別物に分かれて出てきます。混ぜて読むと、どちらの答えにも辿り着きません。
- ログイン用。「トークン ログイン」「やり方」「とは」「が無効です」。ブラウザが持っている、入った状態そのものの話です。この記事はこちらです。
- 開発者向け。「リクエストトークン」「アクセストークン 取得」「リクエストトークンがありません」。これは公式の接続口を使うための手続きで、まったく別の話です。
ついでに書いておくと、日本語の「クッキー」でこの話は探せません。候補の四割がクッキーランというゲームで、あとはお菓子の缶です。探すならトークンという語です。
auth_token と ct0 は、役割が違います
ログイン用のほうは、実際には二つの値が組みになっています。片方だけでは動きません。
- auth_token。これが「あなたが誰か」です。入った状態を持ち歩いているのはこの値です。
- ct0。こちらは書き込みのときに、その要求が本人の画面から出たことを示すための値です。読むだけならなくても通ることがありますが、投稿する、消す、設定を変えるといった操作は ct0 なしでは通りません。
だから「トークンをもらったのに何もできない」という状態は、片方しか渡されていないときに起きます。故障ではなく、部品が足りていません。
「トークン付き」と書いてあっても、ct0 は入っていないことのほうが多い
ここは推測ではなく数えました。公開中のX の出品九百十五件のうち、
- トークンに触れている出品、四百九十四件
- ct0 に触れている出品、百二十七件
- 両方に触れているもの、百二十五件
- トークンとは書いてあるが ct0 には一度も触れていないもの、三百六十九件
つまりトークン付きと書かれた出品の四件に三件は、ct0 について何も約束していません。読むだけなら足りて、操作しようとした瞬間に足りない、という買い方になりがちです。操作する予定があるなら、買う前に ct0 が含まれるかを聞いてください。
同じ日にフェイスブックの棚も数えました。千四百五十八件のうちクッキーに触れているものが四百九十二件、トークンは百十一件で、こちらは比率が逆です。同じ受け渡しでも、サービスごとに使われる言葉が違います。片方の解説をもう片方に当てはめないでください。
「トークンが無効です」と出たとき
候補にそのまま並んでいる文言です。見る順番があります。
- パスワードが変わっていないか。これが最も多い原因です。持ち主が変えた時点で、渡されていた値は死にます。買った直後に相手側が変えた場合も同じです。
- 片方だけになっていないか。ct0 が欠けていると、読めるのに操作だけ失敗します。全部が無効に見えて、実は半分だけです。
- 写し間違い。前後の空白や、途中で改行が入っている場合。手で写したときによく起きます。
- 相手側で明示的に切られた。接続中の端末の一覧から切ると、その値は即座に無効になります。
どれでもない場合、値そのものが古いだけです。作り直すには、結局もう一度ログインするしかありません。
有効期間は、決まっていません
「どれくらい持ちますか」という質問には、期間では答えられません。X は期限を公表していないので、日数を書いている説明があってもそれは出どころのない数字です。
かわりに、終わり方は分かっています。パスワードが変わったとき、端末の一覧から切られたとき、そして相手側が同じことをしたとき。時間ではなく、出来事で終わります。だから期限を当てにした運用はできません。
値そのものが、入った状態です
最後に扱い方です。auth_token は、パスワードの代わりではなくすでに開いている扉です。持っている人はパスワードを知らなくても中にいます。
だから、値を貼ると何かしてくれると謳っている外部の入力欄に入れないでください。そこで渡した時点で、相手も同じ扉の中にいます。買ったアカウントで受け取った場合も同じで、渡した側の手元にも同じ値が残っています。入れたらまずパスワードを変えてください。変えた瞬間に相手側の値が無効になります。
