Skip to content
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

Standarise the User auth in Spring REST #3254

Closed
tb06904 opened this issue Jul 17, 2024 · 0 comments · Fixed by #3263
Closed

Standarise the User auth in Spring REST #3254

tb06904 opened this issue Jul 17, 2024 · 0 comments · Fixed by #3263
Labels
feature A proposed new feature rest-api Specific to/touches a part of the REST API
Milestone

Comments

@tb06904
Copy link
Member

tb06904 commented Jul 17, 2024

Describe the new feature you'd like
As the spring REST should be our standard API for deployment the user authentication for it needs standardising as the current user factory class is not adequate.

Why do you want this feature?
Current problems are that the user factory has no way of passing HTTP headers needed for proper authorisation other than via a javax context which is not used in spring boot. The general idea with current method is that implementations of user factories can be used to 'create' the user e.g. based on the HTTP headers.

Additional context
Some work to address this has already been started under the GafferPop integration work in #3248 this should be expanded on so all endpoints that require it have proper user authentication hooks.

@tb06904 tb06904 added rest-api Specific to/touches a part of the REST API feature A proposed new feature labels Jul 17, 2024
@tb06904 tb06904 added this to the v2.3.0 milestone Jul 17, 2024
@tb06904 tb06904 linked a pull request Aug 1, 2024 that will close this issue
wb36499 added a commit that referenced this issue Aug 8, 2024
* remove unnecessary controller interfaces and add http header setting

* test tweaks

* Update rest-api/spring-rest/src/main/java/uk/gov/gchq/gaffer/rest/controller/JobController.java

Co-authored-by: cn337131 <141730190+cn337131@users.noreply.github.com>

---------

Co-authored-by: cn337131 <141730190+cn337131@users.noreply.github.com>
Co-authored-by: wb36499 <166839644+wb36499@users.noreply.github.com>
wb36499 added a commit that referenced this issue Aug 13, 2024
* prepare for next development iteration

* prepare for next development iteration

* prepare for next development iteration

* Gh-3244 fix ci versioning (#3245)

* move to revision property

* update ci

* update ignore

* Gh-3085 Fix payloadOperation being exposed by getOperations (#3247)

* Gh-3085 Fix payloadOperation being exposed by getOperations

* headers

* add test

* Gh-3220: Standardise GafferPop Tests (#3243)

* update graph IT tests

* Rename GraphIT -> GraphTest

* create graph IT

* Create Modern Federated example graph

run graph tests on multiple graph types

* Update federated IT tests

move non-federates specific tests to graph tests

* tidying

* remove public + spotless

* sonarcloud

* sonarcloud

* Use allEdges/allEntities

* tidy

---------

Co-authored-by: wb36499 <166839644+wb36499@users.noreply.github.com>

* Gh-3237 Implement DeleteElements for Map Store (#3239)

* Gh-3237 Implement DeleteElements for Map Store

* remove unused param

* spotless

* codecov and sonarcloud

* improve codecov and sonarcloud

* reduce test duplication and add to federated store

* checkstyle

* remove unused properties and improve check

* address PR comments and improve tests

* fix indent

* checkstyle

* copyright

* bump version

* address comments

* add comment

---------

Co-authored-by: cn337131 <141730190+cn337131@users.noreply.github.com>
Co-authored-by: tb06904 <141412860+tb06904@users.noreply.github.com>

* Gh-3238: target delete accumulo (#3249)

* Gh-3237 Implement DeleteElements for Map Store

* remove unused param

* spotless

* wip

* finish

* checkstyle

* codecov and sonarcloud

* improve codecov and sonarcloud

* reduce test duplication and add to federated store

* checkstyle

* remove unused properties and improve check

* Gh-3238 Implement DeleteElements for Accumulo

* add accumulo test to federated store

* remove commented test

* address comments

* address comments

* checkstyle

* checkstyle

* headers

* code cov

* remove public

* remove AccumuloClient

* code cov

* checkystle

* add test

---------

Co-authored-by: cn337131 <141730190+cn337131@users.noreply.github.com>

* Gh-3246: Add an explain step and GafferPop to REST API (#3248)

* basic rest controller for gremlin

* basic websocket endpoint for gremlin inside the rest api

* improvements to the gremlin ws endpoint

* basic hooks for storing last chain

* Add working explain endpoint and tidy websocket

* Add open telementry reporting

* overhaul gremlin user auth and move cypher translator

* basic testing for gremlin controller

* move to utils class

* basic testing updates

* update the options parsing and testing

* test tweaks

* updates from testing

* tweaks

* spotless

* address comments

---------

Co-authored-by: wb36499 <166839644+wb36499@users.noreply.github.com>

* Gh-3250: GetElementsWithinSet bug fix (#3251)

* initial testing and changes

* tidy up, remove bug test and copyright headers

* fix commented out lines

* additional federated tests

* reduce duplicate tests

* checkstyle

* add inOutType

* copyright

* fix version variable

* address comments

---------

Co-authored-by: wb36499 <166839644+wb36499@users.noreply.github.com>

* Gh-3253 Fix custom types in gremlin (#3255)

* add conversions so gafferpop edges and vertexes are graphson compliant

* update testing

* update testing

* javadoc

* make sure cypher types can be used correctly

* typo

* Gh-3259: Improve release process (#3260)

* update release pipelines

* simplify

* release notes fix

* remove comment

* address comments

* Make gremlin config message clearer (#3264)

* Gh-3258: Sonarcloud Issues (#3261)

* initial improvements

* more test tidy up

* more fixes

* improve coverage

* copyright

* fix DeleteAllData test

* checkstyle

* address comments

* address comments

* checkstyle

* checkstyle

---------

Co-authored-by: wb36499 <166839644+wb36499@users.noreply.github.com>

* Gh-3254: Standardise Spring REST user authentication (#3263)

* remove unnecessary controller interfaces and add http header setting

* test tweaks

* Update rest-api/spring-rest/src/main/java/uk/gov/gchq/gaffer/rest/controller/JobController.java

Co-authored-by: cn337131 <141730190+cn337131@users.noreply.github.com>

---------

Co-authored-by: cn337131 <141730190+cn337131@users.noreply.github.com>
Co-authored-by: wb36499 <166839644+wb36499@users.noreply.github.com>

* prepare release gaffer2-2.3.0

---------

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Co-authored-by: tb06904 <141412860+tb06904@users.noreply.github.com>
Co-authored-by: p29876 <165825455+p29876@users.noreply.github.com>
Co-authored-by: wb36499 <166839644+wb36499@users.noreply.github.com>
Co-authored-by: cn337131 <141730190+cn337131@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature A proposed new feature rest-api Specific to/touches a part of the REST API
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant