トークン は、認証 や 認可 で使う、アクセス権を示す引換券のような文字列 です。ログインが成功したときに発行され、以降のやり取りに添えることで「許可済みの利用者です」と示します。
コインロッカーの鍵にたとえると分かりやすいです。いったん鍵(トークン)を受け取れば、暗証番号(パスワード)を毎回入れなくても、その鍵で中身を出し入れできます。
トークンを使う利点は次のとおりです。
- パスワードを毎回送らずに済む … 漏えいの機会が減る。
- 範囲や期限を区切れる … 「この操作だけ」「1時間だけ有効」などと制限できる。
- 取り消せる … 紛失や不正が疑われたら、そのトークンだけ無効にできる。
トークンは、さまざまな仕組みの中心にあります。OAuth では権限委譲の証として、JWT では署名付きの形で使われます。セッション の合言葉(セッションID)も、広い意味ではトークンの一種です。なお、AIの世界の「トークン」(文章を区切る単位)や、ブロックチェーンの「トークン」(発行される資産の単位)は、これとは別物なので混同に注意です。