Freigeben über


Zugriff auf HTTP-Header, die an Databricks-Apps übergeben werden

Databricks Apps übergibt bestimmte X-Forwarded-* HTTP-Header vom Reverse-Proxy an Ihre App. Verwenden Sie diese Header, um auf Informationen zur ursprünglichen Anforderung zuzugreifen, z. B. die Client-IP-Adresse oder das Protokoll.

Databricks Apps enthalten die folgenden X-Forwarded-* Header in Anforderungen, die vom Reverse-Proxy an Ihre App weitergeleitet werden.

Kopfzeile BESCHREIBUNG
X-Forwarded-Host Der ursprüngliche Host oder die ursprüngliche Domäne, der vom Client angefordert wurde.
X-Forwarded-Preferred-Username Der vom IdP angegebene Benutzername.
X-Forwarded-User Der vom IdP bereitgestellte Benutzerbezeichner.
X-Forwarded-Email Die vom IdP bereitgestellte Benutzer-E-Mail.
X-Real-Ip Die IP-Adresse des Clients, der die ursprüngliche Anforderung gestellt hat.
X-Request-Id Die UUID der Anforderung.

Zugriffsheader im Code

Sie können über das von Ihrem Webframework bereitgestellte Anforderungsobjekt auf weitergeleitete Header in Ihrem App-Code zugreifen. Das folgende Beispiel zeigt, wie Sie die X-Forwarded-User Kopfzeile mit beliebten Python-Frameworks abrufen:

Kolben

from flask import Flask, request

app = Flask(__name__)

@app.route("/")
def index():
    user = request.headers.get("x-forwarded-user")
    return f"Hello, {user}!"

FastAPI

from fastapi import FastAPI, Request

app = FastAPI()

@app.get("/")
async def index(request: Request):
    user = request.headers.get("x-forwarded-user")
    return {"message": f"Hello, {user}!"}

Diese Header sind nur verfügbar, wenn die App in Databricks-Apps ausgeführt wird. Beim lokalen Testen müssen Sie sie simulieren oder manuell einschließen.