Megosztás:


A Databricks-alkalmazásoknak átadott HTTP-fejlécek elérése

A Databricks Apps meghatározott X-Forwarded-* HTTP-fejléceket ad át a fordított proxy által az alkalmazásának. Ezekkel a fejlécekkel hozzáférhet az eredeti kéréssel kapcsolatos információkhoz, például az ügyfél IP-címéhez vagy protokollhoz.

A Databricks Apps a következő X-Forwarded-* fejléceket tartalmazza a fordított proxyból az alkalmazásnak továbbított kérelmekben:

Fejléc Leírás
X-Forwarded-Host Az ügyfél által kért eredeti gazdagép vagy domain.
X-Forwarded-Preferred-Username Az identitásszolgáltató által megadott felhasználónév.
X-Forwarded-User Az IdP által megadott felhasználói azonosító.
X-Forwarded-Email Az identitásszolgáltató által megadott felhasználói e-mail.
X-Real-Ip Az eredeti kérést küldő ügyfél IP-címe.
X-Request-Id A kérelem UUID azonosítója.

Hozzáférési fejlécek a kódban

Az alkalmazáskódban továbbított fejléceket a webes keretrendszer által biztosított kérelemobjektum használatával érheti el. Az alábbi példa bemutatja, hogyan lehet lekérni a fejlécet népszerű X-Forwarded-User Python-keretrendszerek használatával:

Lombik

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

Ezek a fejlécek csak akkor érhetők el, ha az alkalmazás a Databricks Appsben fut. Helyi teszteléskor szimulálnia kell őket, vagy manuálisan be kell vonnia őket.