-
Notifications
You must be signed in to change notification settings - Fork 26
Feature: Add SRAM integration through SBS #1880
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Add processSRAMInterrupt route Working SRAM interrupt route Manipulate attributes in interrupt Add token parameter Rename endpoints
Align EB/stub with real SBS authz parameters Use SBS api namespace
…led-services skip the IdP-SP check. I.e., if coin:collab_enabled is set, skip the check if the correct IdP is connected, and always allow the flow to continue.
Prior to this change, the test still assumed the entitlements call was used. This change adjusts the test to prime the sbs functional test endpoint for multiple calls on the authz endpoint instead.
library/EngineBlock/Corto/Filter/Command/SRAMInterruptFilter.php
Outdated
Show resolved
Hide resolved
056d93f to
11ff3d9
Compare
src/OpenConext/EngineBlockFunctionalTestingBundle/Features/SbsFlowIntegration.feature
Outdated
Show resolved
Hide resolved
MKodde
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Awesome to see this PR with green builds again 👍
I have some suggestions and questions on the changes of this PR. I know this is the result of a rebase, and most of these points of feedback should be on the 'parent' PR. But still... here you go :)
library/EngineBlock/Corto/Filter/Command/SRAMInterruptFilter.php
Outdated
Show resolved
Hide resolved
library/EngineBlock/Corto/Filter/Command/SRAMInterruptFilter.php
Outdated
Show resolved
Hide resolved
library/EngineBlock/Corto/Filter/Command/SRAMInterruptFilter.php
Outdated
Show resolved
Hide resolved
src/OpenConext/EngineBlock/Exception/InvalidSramConfigurationException.php
Outdated
Show resolved
Hide resolved
tests/library/EngineBlock/Test/Corto/Filter/Command/ValidateAllowedConnectionTest.php
Outdated
Show resolved
Hide resolved
src/OpenConext/EngineBlockFunctionalTestingBundle/Features/SbsFlowIntegration.feature
Outdated
Show resolved
Hide resolved
src/OpenConext/EngineBlockFunctionalTestingBundle/Features/SbsFlowIntegration.feature
Outdated
Show resolved
Hide resolved
src/OpenConext/EngineBlockFunctionalTestingBundle/Features/SbsFlowIntegration.feature
Outdated
Show resolved
Hide resolved
Prior to this change, stepup would be performed after the SRAM interrupt check. This change ensures steupup is performed first. The reason is that the SRAM callout could trigger a 2fa check in SBS. It would be weird to perform a 2fa stepup after that 2fa check. So doing the stepup first would seem better.
|
Now that we have e 7.0 release branch, I think it's time to merge this to main. |
Continued from #1819
In order to facilitate fine-grained access to SRAM, EB integrates with SRAM through the SBS service.
This process is only enabled if both the
feature_enable_sram_interruptfeature flag is enabled and thecollabEnabledcoin of the SP is true.If enabled, the SramInterruptFilter will call SBS with the sessionId.
If the sessionId is known in SBS, EB will merge the attributes supplied by SBS into the Auth request.
IF the sessionId is unknown, later in the Consume Assertion process, the browser will be redirected to SBS,
which will redirect back to EB after a successful check. Then the attributes from SBS will be merged after all.
See #1804 for details.