OAuth2・Bearer・JWT は選択肢として競合する技術ではなく、同じ1本のトークンについて別の問いを担当する層。
| 担当する層 | 答える問い | |
|---|---|---|
| OAuth2 | 入手手続き | どうやって発行してもらう? |
| JWT | 書式 | 中身はどう書いてある? |
| Bearer | 渡し方 | どうやって提示する? |
どの層の話かは、リクエストのこの1行で読み分けられる。
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJzdWIi...
Bearer と書いてヘッダに載せる提示のルールが BearereyJ... というピリオド3分割の文字列の書式が JWT流れは一直線。OAuth2 で発行してもらったトークン(中身はたいてい JWT 形式)を、Bearer 方式でヘッダに載せて毎回提示する。
「GitHub でログイン」の場面では3つが同時に成立するので一体に見えるが、層が違うので個別に入れ替えられる。
迷ったら Authorization ヘッダの1行に戻る。渡し方=Bearer、文字列の書式=JWT、その文字列の出どころ=OAuth2。