plusplusjiajia opened a new pull request, #2815:
URL: https://github.com/apache/iceberg-rust/pull/2815
Mirrors Java's AuthManager API:
- `AuthManager`/`AuthSession` traits in a new `auth/` module:
`init_session()` serves the `GET /v1/config` handshake,
`catalog_session(merged_props)` serves everything after, so a manager can
rebuild its
session from server-merged properties.
- `Noop`/`OAuth2`/`SigV4` managers, selected via a new `rest.auth.type`
property (the legacy `rest.sigv4-enabled` still works), injectable through
`RestCatalogBuilder::with_auth_manager` (replaces the
`with_signer`/`HttpRequestSigner` surface from this PR).
- OAuth2 token handling moves out of `HttpClient` into `OAuth2Manager`,
with the cached token surviving the config handshake (the `.expect(1)` oauth
mocks in the tests caught this).
- `SigV4Manager` wraps a delegate session instead of being mutually
exclusive with token auth: the delegate's `Authorization` header is relocated
to `X-Iceberg-Authorization` before signing, so it is covered by
the signature — matching the Java `RESTSigV4AuthSession` behavior.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]