Webアプリでログインしているのに、
- 急にログイン画面に戻される
- APIが401エラーになる
こんな経験ありませんか?
その原因の多くは、アクセストークンやリフレッシュトークンのエラーです。
この記事では、それぞれの違いとエラーの原因をわかりやすく解説します。
目次
アクセストークンとリフレッシュトークンとは
Webアプリでは、ログイン後に「トークン」と呼ばれる認証情報が発行されます。
これは、ユーザーが正しくログインしていることを証明するための鍵のようなものです。

アクセストークンとは
アクセストークンは、
APIや画面遷移時に「このユーザーはアクセスしていいか?」を判断するためのトークンです。
特徴
- APIリクエスト時に毎回送信される
- 有効期限が短い(数分〜数十分が一般的)
- 期限切れになるとアクセス不可
リフレッシュトークンとは
リフレッシュトークンは、
期限切れになったアクセストークンを再発行するためのトークンです。
特徴
- 有効期限が長い(数日〜数週間)
- 通常のAPIでは使わない
- アクセストークンの再発行時のみ使用
※「二重ロック」というよりは
👉 ログイン状態を長く維持するための仕組みと考えると分かりやすいです
エラーの違い
ここが一番重要👇
アクセストークンエラー
主な原因
- 有効期限切れ
- 改ざん・不正なトークン
- ログアウト済み
よくある挙動
- APIが401 Unauthorizedになる
- 画面が更新できない
対処
- リフレッシュトークンで再発行
- もしくは再ログイン
リフレッシュトークンエラー
主な原因
- 有効期限切れ
- サーバ側で無効化(ログアウトなど)
- 不正アクセス検知
よくある挙動
- トークン再発行ができない
- 強制ログアウトされる
対処
- 再ログインが必要(ここ重要)
図解イメージ(記事に差し込み推奨)
(ここにさっき作ったシンプル図を入れるとかなり理解されやすい)
処理の流れ(ざっくり)
- ログイン
- アクセストークン発行
- APIアクセスで使用
- 期限切れ
- リフレッシュトークンで再発行
- それも切れたらログインし直し
よくある誤解
「リフレッシュトークン=セキュリティ強化」?
→ 半分正解、半分違う
本質は👇
- セキュリティ向上(短命トークン化)
- UX改善(再ログインを減らす)
まとめ
- アクセストークン:APIアクセス用(短命)
- リフレッシュトークン:再発行用(長命)
- アクセストークンエラー → 再発行で解決
- リフレッシュトークンエラー → 再ログイン必須

コメント