-
Notifications
You must be signed in to change notification settings - Fork 3
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
Finish work on the SSO on 2FA feature #288
Commits on Aug 8, 2023
-
Ignore the /app and /web folders. /app is used by ansible to deploy some certificates. And the /web folder is used to store the u2f app ID
Configuration menu - View commit details
-
Copy full SHA for f28eec1 - Browse repository at this point
Copy the full SHA f28eec1View commit details -
Read institution configuration projection
See task 3 of: https://www.pivotaltracker.com/story/show/183402518
Configuration menu - View commit details
-
Copy full SHA for a2cc0cc - Browse repository at this point
Copy the full SHA a2cc0ccView commit details -
Configure SSO on 2FA configuration option
The sso cookie: - name - type - lifetime Can be configured in the parameters.yaml They are then validated in the DI Configuration component. As they are part of the `surfnet_stepup_gateway_gateway` bundle configuration. See: https://www.pivotaltracker.com/story/show/183402574
Configuration menu - View commit details
-
Copy full SHA for a9526ad - Browse repository at this point
Copy the full SHA a9526adView commit details -
Configuration menu - View commit details
-
Copy full SHA for fdb649d - Browse repository at this point
Copy the full SHA fdb649dView commit details -
Configuration menu - View commit details
-
Copy full SHA for 068c945 - Browse repository at this point
Copy the full SHA 068c945View commit details -
Configuration menu - View commit details
-
Copy full SHA for 2c5a234 - Browse repository at this point
Copy the full SHA 2c5a234View commit details -
Create a CookieValue value object
This object contains all data we need to store SSO on the Second Factor authentication. The cookie value is used to recognize an identity, it's second factor used and the associated LoA.
Configuration menu - View commit details
-
Copy full SHA for 2b677b5 - Browse repository at this point
Copy the full SHA 2b677b5View commit details -
Provide a helper class to assist in crypto actions
The authentication, verification, encryption and decryption is implemented in this helper class. The helper in turn uses the Paragon Halite library to actually perform the crypto actions.
Configuration menu - View commit details
-
Copy full SHA for fe9d18d - Browse repository at this point
Copy the full SHA fe9d18dView commit details -
Create a cookie read/write helper
This is a helper class that: 1. reads and decrypts, encrypted cookie data from the configured sso cookie 2. writes encrypted data to the configured sso on 2fa cookie Goal is to limit access to the actual creation of the Cookie in the application. We use this helper to configure sane, industry standard settings for the cookie.
Configuration menu - View commit details
-
Copy full SHA for d3692e0 - Browse repository at this point
Copy the full SHA d3692e0View commit details -
Configuration menu - View commit details
-
Copy full SHA for bbcb225 - Browse repository at this point
Copy the full SHA bbcb225View commit details -
Configuration menu - View commit details
-
Copy full SHA for 49942b7 - Browse repository at this point
Copy the full SHA 49942b7View commit details -
Configuration menu - View commit details
-
Copy full SHA for a338775 - Browse repository at this point
Copy the full SHA a338775View commit details -
Create two SSO 2FA behat tests
In order to get them to work, a host of changes where required. Most notable changes required was that the SSO authentications did not yet utilize the mock gateway remote IdP setup. It visited the SSP mock idp that is not available in this container. Trololo Next up was to configure the certificates correctly. Finally the new sso-on-2fa.feature itself could be constructed.
Configuration menu - View commit details
-
Copy full SHA for 06c8369 - Browse repository at this point
Copy the full SHA 06c8369View commit details -
Store cookie before sending SAML response
The cookie is created in the renderSamlResponse method of GatewayController. Serveral information is required to determine if the cookie may be created. The institution must support sso-on-2fa
Configuration menu - View commit details
-
Copy full SHA for 59f05fe - Browse repository at this point
Copy the full SHA 59f05feView commit details -
Move integration logic into CookieService
That makes sure we need little/no code duplication between the SFO and SSO implementations of the Gateway auth modes.
Configuration menu - View commit details
-
Copy full SHA for e85a8f6 - Browse repository at this point
Copy the full SHA e85a8f6View commit details -
1. By using a real SP/IdP, we can more realistically track the different authentication varieties. 2. A new SSP container is added to the docker-compose (ci) that runs the SP/IdP 3. The scenarios have been updated to authenticat on the SSP debug sp
Configuration menu - View commit details
-
Copy full SHA for c277991 - Browse repository at this point
Copy the full SHA c277991View commit details -
Integrate skip 2FA when valid cookie is presented
Todo: test all preconditions are met See: https://www.pivotaltracker.com/story/show/183402734
Configuration menu - View commit details
-
Copy full SHA for 70c3e47 - Browse repository at this point
Copy the full SHA 70c3e47View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3c3149b - Browse repository at this point
Copy the full SHA 3c3149bView commit details -
In the process a lot of the webpack configuration was modernized. Chief amongst which was to replace TS lint with ES lint
Configuration menu - View commit details
-
Copy full SHA for a73b11e - Browse repository at this point
Copy the full SHA a73b11eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5eb4f28 - Browse repository at this point
Copy the full SHA 5eb4f28View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3d4d1c3 - Browse repository at this point
Copy the full SHA 3d4d1c3View commit details -
Configure exceptions to Allow|Store SSO on 2FA
Don't store the SSO cookie when a RA vetting procedure is handled by Gateway. Or any of the other SP's that have this explicitly configured in the middleware config. Don't try to give SSO on 2FA when one of the SPs which are configured to not evaluate the SSO cookie. This is also configured in the MW config. See: https://www.pivotaltracker.com/story/show/183511012 See: OpenConext/Stepup-Middleware#391
Configuration menu - View commit details
-
Copy full SHA for 897d123 - Browse repository at this point
Copy the full SHA 897d123View commit details -
Configuration menu - View commit details
-
Copy full SHA for b422e3f - Browse repository at this point
Copy the full SHA b422e3fView commit details -
Configure exceptions to Allow|Store SSO on 2FA
Don't store the SSO cookie when a RA vetting procedure is handled by Gateway. Don't try to give SSO on 2FA when one of the `gssp_allowed_sps` is used during authentication. See: https://www.pivotaltracker.com/story/show/183511012
Configuration menu - View commit details
-
Copy full SHA for f29a9f6 - Browse repository at this point
Copy the full SHA f29a9f6View commit details -
Log SSO on 2FA authentications to auth-log
To get the correct data into the log message. Some additional stowing of data was required on the context (state handler). See: https://www.pivotaltracker.com/story/show/183511341
Configuration menu - View commit details
-
Copy full SHA for 79c27fd - Browse repository at this point
Copy the full SHA 79c27fdView commit details -
1. Remove the ra_vetting_procedure_sp_metadata_url_regex config option
Configuration menu - View commit details
-
Copy full SHA for d46aee1 - Browse repository at this point
Copy the full SHA d46aee1View commit details -
Store resulting loa, not the required
The required (required by SP) LoA was stored in the SSO cookie. That is not rigth, we want to store the LoA of the SF used to authenticate the rquired LoA. That LoA might be higher. An might assist the end user in not having to give another 2FA when another SP requires a higher LoA. See: https://www.pivotaltracker.com/story/show/184060757 See: https://www.pivotaltracker.com/story/show/183402542
Configuration menu - View commit details
-
Copy full SHA for 3e0bade - Browse repository at this point
Copy the full SHA 3e0badeView commit details -
Add the now included Utf8 encoding to the expected xml messages defined in the tests
Configuration menu - View commit details
-
Copy full SHA for 4304723 - Browse repository at this point
Copy the full SHA 4304723View commit details -
The Adfs feature saw the ligth of some behat test improvements. Rebasing those changes into the SSO on 2FA branch caused some issues. This commit merges those changes
Configuration menu - View commit details
-
Copy full SHA for 06e7e2c - Browse repository at this point
Copy the full SHA 06e7e2cView commit details -
Configuration menu - View commit details
-
Copy full SHA for d84a52c - Browse repository at this point
Copy the full SHA d84a52cView commit details