> base64url | jwt | url-safe <
// Base64url - URL とファイル名に安全な、パディングなしの Base64 互換形式
URL に対応
特別な URL 文字を使用しないため、クエリパラメータやパスでも安全です。
JWT 標準
JSON Web Token や OAuth 2.0 の仕様で採用されている形式です。
任意のパディング
パディング文字 (=) を省略して、よりシンプルな URL にできます。
>> 技術情報
Base64url の仕組み:
Base64url は Base64 の一種で、「+」を「-」、「/」を「_」に置き換えることで、URL やファイル名でも安全に扱えるようにした形式です。URL 上の問題を避けるため、多くの場合「=」のパディング文字は省略されます。
比較:
Base64: SGVsbG8+Pw== Base64url: SGVsbG8-Pw
Base64url を使う理由:
- >JWT トークン
- >OAuth 2.0 フロー
- >URL クエリパラメータ
- >ファイル名のエンコード
- >Web API 署名
>> よくある質問
Base64url とは何ですか?
Base64url は、URL やファイル名で安全に利用できる Base64 エンコードの亜種です。「+」を「-」、「/」を「_」に置き換え、必要に応じて「=」のパディングを取り除くことで、URL エンコードの問題を避けます。
なぜ通常の Base64 を URL で使わないのですか?
通常の Base64 では「+」「/」「=」を使用しますが、これらは URL では特別な意味を持ちます。「+」は空白として扱われることがあり、「/」はパス区切り、「=」はパラメータ用に使われるため、解析時に問題が発生します。
Base64url はどこで使われますか?
Base64url は JWT(JSON Web Token)、OAuth 2.0 の認可コード、SAML アサーション、そして URL や HTTP ヘッダーでバイナリデータを渡す必要があるあらゆる API で広く使われています。
Base64url ではパディングは必須ですか?
いいえ、Base64url ではパディングは任意です。長さから復元できるため、多くの実装ではパディングを省略します。特に JWT では、より短く読みやすい URL のためにパディングなしが要求されています。