ChangxingJiang opened a new issue, #2745: URL: https://github.com/apache/iceberg-python/issues/2745
### Apache Iceberg version 0.10.0 (latest release) ### Please describe the bug 🐞 # Problem When LakeKeeper enables OAuth2 authentication, an error occurs in PyIceberg's s3v4_rest_signer function because no token is passed in. The error message is as follows: requests.exceptions.HTTPError: 401 Client Error: Unauthorized for url: http://localhost:8181/catalog/v1/signer/1b6a661c-c045-11f0-a5d1-c7f4c19a9f11/tabular-id/019a7bf0-6022-77a3-a1ca-e466b94a019a/v1/aws/s3/sign I Find it because "token" is not in the properties in the `S3V4RestSigner`: ``` https://github.com/apache/iceberg-python/blob/main/pyiceberg/io/fsspec.py ``` # Expect It tokens to request the signer. # Reproduce - Use LakeKeeper as REST catalog - Use KeyCloak to OAuth2 ```python catalog = load_catalog( type="rest", uri="http://localhost:8181/catalog", warehouse="iceberg", credential=f"{CLIENT_ID}:{CLIENT_SECRET}", scope="lakekeeper", **{ "oauth2-server-uri": "http://172.20.*.*:*/realms/master/protocol/openid-connect/token" } ) ``` ### Willingness to contribute - [ ] I can contribute a fix for this bug independently - [x] I would be willing to contribute a fix for this bug with guidance from the Iceberg community - [ ] I cannot contribute a fix for this bug at this time -- 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]
