HTTPとAPI基礎 / 約20分
認証方式の使い分け
なぜこれを学ぶか
「ログイン機能を作って」と一言で言っても、APIキー・OAuth・JWTなど選択肢は複数あります。それぞれの特性を知ると、用途に応じた適切な選択ができます。
APIキー は最もシンプルな認証方式です。発行されたキーをリクエストに付けるだけですが、キー自体が漏洩すると誰でもなりすませてしまう 漏洩リスク があります(Webセキュリティトラックの秘密情報管理と直結します)。
OAuth は「認可の委譲」を実現する仕組みです。「このアプリに、あなたのGoogleアカウントの情報へのアクセスを許可しますか?」というあの画面がOAuthです。パスワードそのものを渡さずに済みます。
JWT(JSON Web Token) は署名付きのトークンで、改ざんを検出できます(認証・認可トラックで学んだ「失効の難しさ」という弱点も持ちます)。
選び方の目安: 社内向けの単純なAPI連携なら APIキー、外部サービスとの連携で「ユーザーの代わりに操作する」なら OAuth、自前のログインシステムで状態を持たせたくないなら JWT、という具合に用途で選びます。
重要ポイント
- APIキーはシンプルだが漏洩リスクが高い
- OAuthはパスワードを渡さずに認可を委譲する仕組み
- JWTは署名付きトークンだが失効管理が難しい
理解度チェック
選ぶと即座に解説が表示されます。
自社アプリに「Googleでログイン」機能を追加したい。使うべき認証の仕組みは?
ヒントを見る
「ユーザーのGoogleアカウントの情報へのアクセスを、パスワードを渡さずに許可する」——このような「認可の委譲」を実現する仕組みは何でしたか。
スキルセルフチェック
このレッスンの内容をどの程度理解できましたか?