Accéder aux en-têtes HTTP transmis aux applications Databricks
Databricks Apps transmet des en-têtes HTTP X-Forwarded-* spécifiques du proxy inverse à votre application. Utilisez ces en-têtes pour accéder aux informations concernant la requête originale, telles que l'adresse IP du client ou le protocole.
Databricks Apps inclut les X-Forwarded-* en-têtes suivants dans les requêtes qui sont transmises de votre proxy inverse à votre application :
En-tête | Description |
|---|---|
| L'hôte ou le domaine d'origine demandé par le client. |
| Le nom d'utilisateur fourni par l'IdP. |
| L'identifiant utilisateur fourni par le fournisseur d'identité. |
| L'e-mail de l'utilisateur fourni par l'IdP. |
| L’adresse IP du client qui a effectué la demande originale. |
| L'UUID de la requête. |
Accéder aux en-têtes dans le code
Vous pouvez accéder aux en-têtes transférés dans le code de votre application en utilisant l'objet de requête fourni par votre framework web. L'exemple ci-dessous montre comment obtenir l'en-tête X-Forwarded-User dans les frameworks Python populaires :
Flask
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 ne sont disponibles que lorsque l'application s'exécute dans Databricks Apps. Lors des tests locaux, vous devez les simuler ou les inclure manuellement.