Partager via


Accéder aux en-têtes HTTP passés aux applications Databricks

Databricks Apps transmet des en-têtes HTTP spécifiques X-Forwarded-* du proxy inverse à votre application. Utilisez ces en-têtes pour accéder aux informations relatives à la requête d’origine, telles que l’adresse IP du client ou le protocole.

Databricks Apps inclut les en-têtes suivants X-Forwarded-* dans les requêtes transférées du proxy inverse à votre application :

En-tête de page Descriptif
X-Forwarded-Host Hôte ou domaine d’origine demandé par le client.
X-Forwarded-Preferred-Username Nom d’utilisateur fourni par le fournisseur d’identité.
X-Forwarded-User Identificateur de l’utilisateur fourni par le fournisseur d’identité (IdP).
X-Forwarded-Email E-mail de l’utilisateur fourni par le fournisseur d’identité.
X-Real-Ip Adresse IP du client à l’origine de la requête.
X-Request-Id UUID de la requête.

En-têtes d’accès dans le code

Vous pouvez accéder aux en-têtes transférés dans votre code d’application à l’aide de l’objet de requête fourni par votre infrastructure web. L’exemple ci-dessous montre comment récupérer l’en-tête X-Forwarded-User à l’aide de frameworks Python populaires.

Fiole

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}!"}

Ces en-têtes sont disponibles uniquement lorsque l’application s’exécute dans Databricks Apps. Lorsque vous effectuez des tests localement, vous devez les simuler ou les inclure manuellement.