mod_auth_openidc を Google と連携させ、OP として phpOIDC の手巻きバージョンを使用し、mod_auth_openidc を ID プロバイダーとして使用しています。
私の問題は、Microsoft の実装のバグのようです。
mod_auth_openidc は優れた mod であり、かなりの検証ログを実行します。
JWT で返されるものの 1 つは、オーディエンスである「aud」パラメーターです。
Open ID Connect 仕様によると:
aud
REQUIRED. Audience(s) that this ID Token is intended for. It MUST contain the OAuth 2.0 client_id of the Relying Party as an audience value. It MAY also contain identifiers for other audiences. In the general case, the aud value is an array of case sensitive strings. In the common special case when there is one audience, the aud value MAY be a single case sensitive string.
私のクライアント ID は 00000001234 です (私の実際の ID ではありません。単なる例です)。
Windows Live から nonce の「コード」を取得し、それをトークンと交換しましたが、返されたトークンの「aud」値は次のとおりです。
00000000-0000-0000-0000-00000001234
mod_auth_openidc は、返されたトークンの「aud」値を正しくチェックし、「aud」が構成された cliend_id と一致しないため、エラーで応答します。
私の質問は、トークンの対象者を検証しない以外に、返されたトークンの「aud」値に対してクライアント ID を正しく返すように、MS Developer コンソールでアプリを構成する方法はありますか?
その実装でそのようなバグを報告するのに最適な場所はどこですか?