add auth to all calls except login/logout#409
Merged
adamkorynta merged 3 commits intomainfrom Apr 4, 2025
Merged
Conversation
add integration test that reads all endpoints from the OpenAPI and tests that they all throw 401 unauthorized error codes when the client is not authorized
wjonassen
reviewed
Apr 4, 2025
opendcs-rest-api/src/main/java/org/opendcs/odcsapi/res/AlgorithmResources.java
Show resolved
Hide resolved
zack-rma
suggested changes
Apr 4, 2025
Collaborator
zack-rma
left a comment
There was a problem hiding this comment.
Looks like there's one failing test due to the test call not being properly authenticated:
AlgorithmResourcesIT > getAlgorithmRefs() > OpenDCS-Postgres FAILED java.lang.AssertionError: 1 expectation failed. Expected status code is <200> but was <401>.
Otherwise these changes look good.
wjonassen
approved these changes
Apr 4, 2025
zack-rma
approved these changes
Apr 4, 2025
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.



add integration test that reads all endpoints from the OpenAPI and tests that they all throw 401 unauthorized error codes when the client is not authorized
Problem Description
Almost (if not all) GET endpoints are public, which can potentially leak sensitive information via properties.
Fixes #189.
Solution
Add required authorization to all endpoints except /credentials (this is the login) and /logout
how you tested the change
Created an integration test that scrapes the OpenAPI (which is auto generated by finding all registered endpoints) and makes a request against them for all available methods (GET/POST/DELETE/etc) and asserts that an unsessioned client will get an error code 401 response.
Where the following done:
(Formerly called regression tests.)