[ALS-5332] BDC PIC-SURE: Support PSAMA
persist admin roles
fix compile issue
Add manual roles
check if roles are empty
Add StudyAccessService
Better error code; clean up
Bump swagger version?
Added jersey-server for tests
Add guava to pom
Adds method to look for accounts missing a subject
Check if subject is empty
* [ALS-5514] Add OktaOAuthAuthenticationService for user authentication
The new class, OktaOAuthAuthenticationService, has been added to manage user authentication via Okta. This involves the process of code-token exchange, token introspection, and user initialization. It also contains utility methods for making requests to Okta API and processing the responses.
* [ALS-5514] Add Okta authentication support in PIC-SURE
This commit includes the addition of an OktaAuthenticationController which is responsible for handling Okta-based authentication requests. It also restructures the JAXRSConfiguration class's startup sequence and adds more flexibility in handling different Identity Provider (IDP) setups; specifically, it enhances the class's ability to properly configure and handle Okta IDP.
* [ALS-5514] Remove unused import in AuthService.java
* [ALS-5514] The 'standalone.xml' file has been updated to include OTKA parameters configuration.
* [ALS-5514] Update maven war plugin
* [ALS-5514] Use unauthorizedError in place of less specific error
* [ALS-5514] Refactor UserRepository and improve user metadata generation
Updated UserRepository.java to streamline the user data querying and creation process, and added explicit save(user) method for better clarity. In OktaOAuthAuthenticationService.java, a refactoring was done to simplify the process of updating user metadata. A unit test for generating user metadata was also added in a new OktaOAuthAuthenticationServiceTest.java file for improved code coverage and reliability.
*[ALS-5514] Remove mapped clientId, refactor beanConfig scheme
The commit eliminates mapped clientId resource in JAXRSConfiguration.java, instead retrieving it through ctx.lookup. This resolves issues in the cases where client_id may be empty.
---------
Co-authored-by: James <[email protected]>