DISCUSSION: user impersonation / bearer token authorization #884
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.
if you have multiple users with varying access to the underlying data stores (trino, postgres, etc.) it can be necessary to allow ontop to impersonate each user running queries.
currently in a properties file if you do something like:
it allows ontop to initialize BUT then ontop can't impersonate the user that runs the SPARQL query.
this PR allows you to set your properties like like the example but then if a query to ontop arrives with an HTTP
Authorization: bearer BEARER_TOKEN_HEREheader then it will remove theaccessTokenfrom the JDBC URL and it will append theAuthorizationheader to the outgoing SQL query (thereby allowing ontop to run SQL as user X).this approach is specific to trino with OAUTH authentication so i don't expect it to be merged as is but perhaps it could lead to a more general user impersonation solution.