応用情報技術者ブラウザ・セッションとAPIの防御オリジナル・公式資料照合難易度★★★★☆
OIDCを使うSPAのclient_idはspa-client、別の業務APIの識別子はorders-apiである。APIはRFC 9068形式のJWTアクセストークンを受け入れる設計である。SPA向けIDトークン(aud=spa-client)がAPIへ送られ、署名・発行者・期限は正しい。APIの判断はどれか。
A
IDトークンの用途とaudはAPI用と一致しないため拒否し、orders-api向けの適切なアクセストークンを要求する★ 正解
IDトークンはクライアントに対する認証結果で、API向けアクセストークンとは用途が異なります。対象APIのaud等を検証します。
B
同じ発行者の署名が正しければ、どのaudのJWTでも受け入れる
正しい署名でも別の受信者向けのトークンかもしれません。発行者だけでなく用途・aud等を確認する必要があります。
C
IDトークンは常にアクセストークンより強いので、APIの認可もすべて省く
トークン種別を強弱で置き換えることはできません。ユーザーや操作対象の権限はAPI側で検証します。
D
Authorization: Bearerで送られれば、IDトークンも自動的にAPI用アクセストークンへ変わる
Bearerは提示方法であり、トークンの用途や受信者を変換しません。IDトークンをその形式で送ってもAPI向けaudにはなりません。
解説
OIDCのIDトークンによるログイン結果と、OAuthの保護リソースへ提示するアクセストークンを区別します。本問のAPIはJWTアクセストークンの用途・形式・発行者・aud・期限等を検証する必要があります。
根拠資料・確認情報
対応範囲:2026年度 応用情報技術者試験
資料確認日:2026-10-28
同じレッスンの問題
問題 1
利用者のブラウザはexample.comを一度も訪れたことがなく、同ドメインや親ドメインのHSTS情報を持たず、preload登録もない。ブラウザ独自のHTTPS優先機能は無効で、利用者はhttp://example.comを開く。サーバーはHTTPSへ転送し、HTTPS応答にHSTSを付ける。初回接続について正しいのはどれか。
問題 2
サーバー生成HTMLで、必要なインラインscriptだけをnonce型CSPで許可したい。攻撃者は以前の応答HTMLを閲覧でき、一部の文字列注入も試みる。アプリが全応答で同じ公開済みnonceを使っている。適切な改善はどれか。
問題 3
ログインCookieにSameSite=Laxを明示したサイトが、GET /account/deleteでアカウントを削除している。ログイン中の利用者が、別サイトのリンクからこのURLへトップレベルで移動できる。サーバーに追加のCSRF検証はない。適切な評価と修正はどれか。
問題 4
端末ごとに異なるsidを含む署名付きアクセストークンと更新トークンを発行するAPIがある。端末Aのログアウト後は、盗まれたAの未期限切れトークンによる以後の認証も拒否し、端末Bのログインは維持したい。現在は署名と有効期限だけを検証している。最も適切な設計はどれか。