Commit graph

28 commits

Author SHA1 Message Date
Clemente Raposo
c6ab4c31e4 Symfony 6.4 - Update SAML configuration setup
- Update controllers to point to new lib
- Adjust base onelogin config
- Update firewall configuration
2024-08-21 18:06:15 +01:00
Clemente Raposo
661db7b4f9 Symfony 6.4 - Mark firewall as not lazy
- to initialize the session up-front
2024-08-21 18:06:15 +01:00
Clemente Raposo
f1c0153d57 Symfony 6.4 - Update symfony/security-bundle recipe - TO REVIEW 2024-08-21 18:06:14 +01:00
Jack Anderson
fee04d30f9 Symfony 5.3 - Update password_hashers 2024-08-21 18:06:13 +01:00
Jack Anderson
baed649b6f Symfony 5.3 - Remove Provider and double access_control 2024-08-21 18:06:13 +01:00
Jack Anderson
2a3f9b21e1 Symfony 5.3 - Add Legacy Password Hasher 2024-08-21 18:06:13 +01:00
Jack Anderson
8210b2b260 Symfony 5.3 - Update Symfony Security Bundle 2024-08-21 18:06:13 +01:00
Clemente Raposo
4e4b43e92e Add base saml configuration
- Allow enabling saml configuration
- Make security.access_control dynamic, depending on the auth_type
- Add saml specific access_control configuration
- Add saml routes configuration
- Enable auth.logout.redirect for saml
- Add template configuration for hslavich_onelogin_saml
2022-09-09 12:46:23 +01:00
Clemente Raposo
db6afc52fc Allow switching between native and ldap login
- Add base ldap service configuration
- Add dynamic login configuration selection based on env
- Add default env options for ldap
2022-09-09 12:46:22 +01:00
Clemente Raposo
0c79491581 Use new symfony authenticator mechanism
- Add auth success listener to initialize legacy session
- Add password encoder to support legacy style encoding
- Add xsrf-token check to json_login
- enable authenticator_manager
2022-09-09 12:46:22 +01:00
Clemente Raposo
84aa865a68 Update login to use only symfony
- Add Suite 8 side only login
- Do not login on legacy, only initialize session
- This enables the usage of other symfony login mechanisms
2022-09-09 12:46:20 +01:00
Clemente Raposo
8ee2c7dee7 Fix #90 - Properly reset legacy session cookie after logout 2022-05-11 13:11:31 +01:00
Dillon-Brown
ca2a8b413d Move Repositories
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:42 +01:00
Dillon-Brown
e82feb45b7 Update UserRepository and security.yaml to allow more control over user authentication
- Remove hardcoded property identifier to enable us to chose how users are identified.
- Remove user password encoding that isn't used in favour of using legacy users.
- Optimizing the container by removing unused services through service configs.

Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:31 +01:00
Dillon-Brown
8271d66178 Update User entity to match types with pre-existing legacy database
- Update User entity.
- Update schema_filters to only allow doctrine interaction with the users and migration_versions tables.
- Set auto_generate_proxy_classes to false since we don't need proxy classes.
- Updated broken ORM and doctrine mappings.

Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:31 +01:00
Dillon-Brown
4cd53cc6fd Refactor authentication to use application/json
- Sending by JSON is the preferred choice for API platform.

Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:31 +01:00
Dillon-Brown
6734f26d98 Implement CSRF protection
- Remove outdated CSRF package
- Implement core CSRF protection

Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:22:31 +01:00
Clemente Raposo
f2bd9d9949 Improve session checks and cookie reset
- Clean CSRF token when session has expired
-- On the root path
-- On the session-check entrypoint
--- Needed since this invalidates the session

- Add new session token after expiring old session
-- On the session-check entrypoint
--- Needed as the following login requests will require a token

- Configure CSRF token generation on the session-status api
-- The session status can invalidate the session
-- It also cleans the tokens
-- We need to generate a new token afterwards
2021-03-30 19:21:37 +01:00
Dillon-Brown
3672c445e7 Create a UserChecker for pre/post authentication security
- Implement UserChecker to check user deletion status on pre/post auth.
- Modify LoginFormAuthenticator to use Symfony/Security to fetch user data.
- Add Security Exceptions: UserDeletedException, UserNotFoundException.
- Set the security firewall to run the UserChecker.
- Update User Entity with deleted getter.

Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:35 +01:00
Dillon-Brown
aa242f970c Implement user action menu
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:34 +01:00
Dillon-Brown
bc115670ba Add legacy user provider
- This changes the Symfony User entity to fetch the user from the legacy users table

Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:34 +01:00
Dillon-Brown
9d484ed4a4 Linkup footer back to top with authentication
Signed-off-by: Dillon-Brown <dillon.brown@salesagility.com>
2021-03-30 19:21:34 +01:00
Clemente Raposo
0ff1c9072c Link data to login component
- Add language facade
- Add appStrings observable from facade
- Combine appStrings and systemConfigs into vm (viewModel)
- Link data to login component template
- Expose needed languages from the Users module
- Unprotect graphiql endpoint
2021-03-30 19:21:32 +01:00
Ross Moroney
ba67d839e3 Add language dropdown too login screen 2021-03-30 19:21:32 +01:00
Dillon-Brown
287ed2fb15 Add Angular CSRF protection 2021-03-30 19:21:31 +01:00
Dillon-Brown
9bff8530c6 Add Suite-8 user authentication 2021-03-30 19:21:31 +01:00
Dillon-Brown
8cf555f4ee Update and audit existing project dependencies for Symfony/Flex.
- Converted all non-flex bundles with available bundles into Symfony/Flex.
- Updated namespaces to more closely match Symfony.
- Removed unnecessary dependencies and recipes.
- Executed Symfony/Flex recipes to create default configs.
- Improved composer.json scripts.
2021-03-30 19:21:31 +01:00
Dillon-Brown
587a79613e Add API Platform Framework with Symfony/Flex
This implements the basic structure that will be used for the API and core application.
2021-03-30 19:21:30 +01:00