feat: integrate proxy support for REST/gRPC/OIDC and add new OIDC authentication grant#539
feat: integrate proxy support for REST/gRPC/OIDC and add new OIDC authentication grant#539fer-marino wants to merge 56 commits intoweaviate:mainfrom
Conversation
Deprecate WeaviateBackupClient#cancel method, as it is now ambiguous
There was a problem hiding this comment.
Orca Security Scan Summary
| Status | Check | Issues by priority | |
|---|---|---|---|
| Infrastructure as Code | View in Orca | ||
| SAST | View in Orca | ||
| Secrets | View in Orca | ||
| Vulnerabilities | View in Orca |
|
To avoid any confusion in the future about your contribution to Weaviate, we work with a Contributor License Agreement. If you agree, you can simply add a comment to this PR that you agree with the CLA so that we can merge. |
|
Nice addition, thank you @fer-marino |
…g-updates Update argument naming
…tore Support canceling backup restore
…config Async replication config for collections
Add HFresh index configuration
Co-authored-by: dyma solovei <53943884+bevzzz@users.noreply.github.com>
…java Co-authored-by: dyma solovei <53943884+bevzzz@users.noreply.github.com>
…usTokenProvider.java Co-authored-by: dyma solovei <53943884+bevzzz@users.noreply.github.com>
|
added some more test units, including one for the proxy. I've also modified the pom, as in my setup the lombok annotation processor was not getting invoked during unit tests execution. |
src/test/java/io/weaviate/client6/v1/internal/rest/ProxyTest.java
Outdated
Show resolved
Hide resolved
src/test/java/io/weaviate/client6/v1/internal/rest/ProxyTest.java
Outdated
Show resolved
Hide resolved
src/test/java/io/weaviate/client6/v1/internal/rest/ProxyTest.java
Outdated
Show resolved
Hide resolved
src/main/java/io/weaviate/client6/v1/internal/oidc/OidcConfig.java
Outdated
Show resolved
Hide resolved
src/main/java/io/weaviate/client6/v1/internal/oidc/OidcConfig.java
Outdated
Show resolved
Hide resolved
src/main/java/io/weaviate/client6/v1/internal/oidc/nimbus/NimbusTokenProvider.java
Show resolved
Hide resolved
src/test/java/io/weaviate/testutil/transport/MockRestTransport.java
Outdated
Show resolved
Hide resolved
src/test/java/io/weaviate/testutil/transport/MockRestTransport.java
Outdated
Show resolved
Hide resolved
Thank you 👍 |
…th AssertJ conventions
|
pushed another commit with your suggestions |
|
@fer-marino please update your branch to the latest +3 pending comments ⬆️ |
Co-authored-by: dyma solovei <53943884+bevzzz@users.noreply.github.com>
….java Co-authored-by: dyma solovei <53943884+bevzzz@users.noreply.github.com>
…usTokenProvider.java Co-authored-by: dyma solovei <53943884+bevzzz@users.noreply.github.com>
Co-authored-by: dyma solovei <53943884+bevzzz@users.noreply.github.com>
…java Co-authored-by: dyma solovei <53943884+bevzzz@users.noreply.github.com>
…usTokenProvider.java Co-authored-by: dyma solovei <53943884+bevzzz@users.noreply.github.com>
…th AssertJ conventions
|
rebased |
…remove redundant version-based permission conditions
|
@fer-marino looks like the commit hashes got changed in the rebase and the history/diff in this PR now includes changes already present in the main branch. Could you please squash your changes in to a single commit and force-push the branch? Something like: git reset --soft origin/main
git commit -m "feat: add proxy support and ROPC authorization grant"
git push --force-with-leaseIt'll make it easier for me to wrap up the review. |
This PR introduces comprehensive proxy support for both REST and gRPC communications, as well as for OIDC authentication.
Changes
Features
Proxyrecord to hold proxy configuration (host, port, scheme, and optional credentials).proxy(Proxy)method to theConfigbuilder, allowing users to configure a proxy globally for all client operations.resourceOwnerPasswordCredentialsto theAuthenticationinterface, supporting the Resource Owner Password Credentials authorization grant.DefaultRestTransportto use the configured proxy with Apache HttpClient 5.DefaultGrpcTransport.NimbusTokenProviderandOidcUtils, ensuring that OIDC metadata and token requests (fetching and refreshing) correctly respect the proxy settings.Refactoring
Testing
ProxyTestand updatedAuthenticationTestto verify proxy integration for both REST requests and OIDC authentication flows (including Resource Owner Password grant).Verification