Hello everyone,

I have opened a pull request (#15892)
<https://github.com/apache/iceberg/pull/15892> to add support for Basic
Authentication to the OpenAPI specification for the Iceberg REST Catalog.

Background & Purpose:

The Iceberg RESTCatalog already supports Basic Auth in its implementation.
This pull request aims to formally document that support within the
project's OpenAPI specification (rest-catalog-open-api.yaml), ensuring the
spec accurately reflects the available authentication mechanisms. This
improves clarity for users and client implementers.

Key Changes in the PR:

The update adds BasicAuth: [] to the global security schemes in the OpenAPI
spec, alongside the existing OAuth2 and BearerAuthschemes. A definition for
the Basic Auth security scheme (type: http, scheme: basic) has also been
added, consistent with OpenAPI 3.0 standards.

Reference & Context:

OpenAPI specification references:

Bearer Authentication
https://swagger.io/docs/specification/v3_0/authentication/bearer-authentication/

Basic Authentication
https://swagger.io/docs/specification/v3_0/authentication/basic-authentication/

Iceberg RESTCatalog client already supports

https://github.com/apache/iceberg/blob/main/core/src/main/java/org/apache/iceberg/rest/auth/BasicAuthManager.java

IRC servers such as

Apache Gravitino already supports this

https://github.com/apache/gravitino/blob/main/server-common/src/main/java/org/apache/gravitino/server/authentication/SimpleAuthenticator.java

Apache Polaris already supports this, too.
https://github.com/apache/polaris/blob/main/runtime/service/src/main/java/org/apache/polaris/service/auth/internal/service/DefaultOAuth2ApiService.java#L84

Request for Feedback:

While this is a straightforward documentation update aligning the spec with
existing functionality, I believe it's valuable to propose this change for
broader community discussion. I would appreciate your thoughts on:

The approach of adding Basic Auth to the global security schemes.

Any potential considerations or alternative methods for documenting this
authentication method.

You can view the full pull request and conversation here:

https://github.com/apache/iceberg/pull/15892

Thank you for your time and feedback.

Best regards,

Rory

Reply via email to