This is an automated email from the ASF dual-hosted git repository.

roryqi pushed a commit to branch branch-1.1
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/branch-1.1 by this push:
     new f721a645b3 Revert "[#9868]docs(oauth): Update the documentation to 
clarify using correct version endpoints for Azure auth (#9880)"
f721a645b3 is described below

commit f721a645b322c7051cd3fb114de138013e8aa707
Author: Rory <[email protected]>
AuthorDate: Fri Feb 6 19:40:03 2026 +0800

    Revert "[#9868]docs(oauth): Update the documentation to clarify using 
correct version endpoints for Azure auth (#9880)"
    
    This reverts commit 7966e2b080cad1898750ee1cf20a57b38c441b16.
---
 docs/security/how-to-authenticate.md | 21 +++------------------
 1 file changed, 3 insertions(+), 18 deletions(-)

diff --git a/docs/security/how-to-authenticate.md 
b/docs/security/how-to-authenticate.md
index 32b22e0246..ef5338cb5f 100644
--- a/docs/security/how-to-authenticate.md
+++ b/docs/security/how-to-authenticate.md
@@ -159,10 +159,9 @@ The signature algorithms that Gravitino supports follows:
 This example shows how to configure Gravitino with Azure AD using JWKS-based 
token validation.
 
 **Prerequisites:**
-- Azure AD tenant with an application registration (Single-page application)
+- Azure AD tenant with an application registration
 - Application configured with:
   - Client ID (Application ID)
-  - Platform configuration: Single-page application (SPA)
   - Redirect URI: `https://your-gravitino-server/ui/oauth/callback`
   - Required API permissions/scopes (typically `openid`, `profile`, `email`)
 
@@ -175,7 +174,7 @@ gravitino.authenticators = oauth
 # OIDC Provider Configuration for Web UI
 gravitino.authenticator.oauth.provider = oidc
 gravitino.authenticator.oauth.clientId = <your-azure-app-client-id>
-gravitino.authenticator.oauth.authority = 
https://login.microsoftonline.com/<your-tenant-id>/v2.0
+gravitino.authenticator.oauth.authority = 
https://sts.windows.net/<your-tenant-id>/
 gravitino.authenticator.oauth.scope = openid profile email
 
 # JWKS-based Token Validation
@@ -189,23 +188,9 @@ gravitino.authenticator.oauth.principalFields = 
preferred_username,email,sub
 - **Web UI**: Navigate to Gravitino Web UI, which will redirect to Azure AD 
for authentication
 - **API Access**: Use Azure AD tokens in the `Authorization: Bearer <token>` 
header
 
-**Azure AD v2.0 Endpoint (Recommended):**
-The `authority` must use the v2.0 endpoint (`/v2.0` suffix) to match the v2.0 
JWKS URI. This ensures that tokens issued during OIDC discovery use the correct 
token format and issuer claim that matches your JWKS configuration.
-
-**Alternative: Azure AD v1.0 Endpoint:**
-For legacy applications or organizational policies requiring v1.0 tokens, use:
-```text
-gravitino.authenticator.oauth.authority = 
https://sts.windows.net/<your-tenant-id>/
-gravitino.authenticator.oauth.jwksUri = 
https://login.microsoftonline.com/<your-tenant-id>/discovery/v2.0/keys
-```
-Azure AD uses the same signing keys for both v1.0 and v2.0, so v2.0 JWKS can 
validate v1.0 tokens.
-
-**Important:** Do NOT use `https://login.microsoftonline.com/<tenant-id>/` 
(without `/v2.0`) as the authority when using v2.0 JWKS. This causes an issuer 
mismatch: the token will have `iss: "https://sts.windows.net/..."` but the 
server expects `iss: "https://login.microsoftonline.com/..."`.
-
-**Service Audience:**
+:::note
 The `serviceAudience` should match the `aud` claim in your Azure AD tokens. 
This is typically your Azure AD application's client ID, but could be a custom 
API identifier if you've configured custom API scopes (e.g., 
`api://<client-id>`).
 
-**Principal Fields:**
 The `principalFields` supports multiple fallback options. Gravitino will try 
each field in order (e.g., first `preferred_username`, then `email`, then 
`sub`) until it finds a non-null value to use as the user identity.
 
 With JWKS validation, you don't need to configure `defaultSignKey`, 
`serverUri`, or `tokenPath` as the validator dynamically fetches public keys 
from Azure AD's JWKS endpoint.

Reply via email to