Fixes and optimisations for the Murfey authentication API #730
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes:
In PR #728 , we introduced logic to forward ALL headers from the incoming requests to the authentication server to support the implementation of local decrypting and parsing of incoming requests without the need to repeatedly query an OAuth2
/userinfoendpoint.However, it looks like there are headers used by the API endpoint to verify the incoming request, and if a mismatch is found, the request will time out. For example, a POST request sent by the frontend will have its headers forwarded to the authentication server as part of a GET request, and the presence of some headers from the original POST request causes the subsequent GET request to timeout. Fixing this involved amending the logic to forward only the headers that are needed by the authentication server for local decryption and parsing of the request.
Additionally, some duplicated logic was observed in how the validation functions submit requests to the authentication server, so these have been migrated into a helper function that they can call.