Bug: SBS interrupt redirect loses its nonce after StepUp
メンテナーはふだん 20 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 82/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- php
調査の方向性
StepupAssertionConsumerから始め、保存された元のSBSレスポンスがStepUp後にどのように処理されるかを追ってください。issueでは、関連する呼び出しとしてhandleSramInterruptCallout()が挙げられています。既存の複合フローのシナリオとそのSBSモックを見つけ、リダイレクトnonceとSBS後の継続に関するアサーションを追加してください。元のnonceが保持され、記載されているStepUpのみのフローとSBSフローが引き続き動作すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
When an SP requires both StepUp and an SRAM/SBS check, SBS may return an interrupt response with a nonce. EngineBlock stores that nonce and performs StepUp first. After StepUp returns, EngineBlock redirects the browser to SBS with an empty nonce query parameter instead of the nonce SBS issued. This may prevent SBS from resuming the interrupt flow.
In StepupAssertionConsumer , EngineBlock detects the stored SRAM step but passes the StepUp Gateway response to handleSramInterruptCallout() rather than the original response containing the SBS nonce.
Steps to reproduce
- Configure an SP to require StepUp and SRAM collaboration; enable eb.feature_enable_sram_interrupt .
- Configure SBS to return an interrupt response with a nonce, such as my-nonce .
- Log in through the IdP and complete StepUp.
- Inspect the browser's redirect to SBS.
Actual result
The SBS redirect contains an empty nonce, such as ?nonce= .
Expected result
The redirect contains the nonce from SBS's original interrupt response, such as ?nonce=my-nonce . The user can then complete the SBS step and continue through consent to the SP.
Acceptance criteria
• The SBS redirect after StepUp carries the original SBS nonce.
• A regression test asserts the nonce in the redirect and verifies the flow can continue after SBS.
• Existing StepUp-only, SBS-authorized, and SBS-interrupt-without-StepUp flows continue to work.
Technical hint: Pass the stored original response to handleSramInterruptCallout() in StepupAssertionConsumer . The existing combined-flow scenario does not assert the nonce, and its SBS mock ignores the redirect query string.
- 主要言語
- PHP
- スター
- 17
- フォーク
- 25
- 平均マージ
- 15日 5時間
- マージ済み PR(30日)
- 8
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
OpenConext/OpenConext-engineblock のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
OpenConext/OpenConext-engineblock#2122 · コメント 4 件 ·
メンテナーはふだん 20 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
OpenConext/OpenConext-engineblock#2040 ·
メンテナーはふだん 20 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
OpenConext/OpenConext-engineblock#2015 ·
メンテナーはふだん 20 日以内に返信
-
maintenance
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
OpenConext/OpenConext-engineblock#1960 · コメント 2 件 ·
メンテナーはふだん 20 日以内に返信
-
needs-discussion needs-input
難易度 5/5 1週間以上 初心者へのやさしさ 18/100
OpenConext/OpenConext-engineblock#2142 ·
メンテナーはふだん 20 日以内に返信
OpenConext/OpenConext-engineblock の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
nunomaduro/collision#375 ·
-
HTTP::setGetVar() duplicates the base path for root-relative URLs when the site runs in a subfolderオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
silverstripe/silverstripe-framework#12034 ·
-
needs triage
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
loginWithCustomTokenExchange() fails when an organization is configured対応中かも @awss1i が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
auth0/auth0-PHP#883 · コメント 1 件 ·
メンテナーはふだん 2 日以内に返信
-
type/bug
難易度 1/5 1時間未満 初心者へのやさしさ 75/100
flarum/framework#5231 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信