Udostępnij przez


Uzyskiwanie dostępu do nagłówków HTTP przekazywanych do aplikacji Databricks

Usługa Databricks Apps przekazuje określone X-Forwarded-* nagłówki HTTP z zwrotnego serwera proxy do aplikacji. Użyj tych nagłówków, aby uzyskać dostęp do informacji o oryginalnym żądaniu, takich jak adres IP klienta lub protokół.

Aplikacje Databricks zawierają następujące nagłówki X-Forwarded-* w żądaniach przekazywanych z serwera proxy rewersyjnego do Twojej aplikacji:

Nagłówek Opis
X-Forwarded-Host Oryginalny host lub domena żądana przez klienta.
X-Forwarded-Preferred-Username Nazwa użytkownika podana przez dostawcę tożsamości.
X-Forwarded-User Identyfikator użytkownika dostarczony przez dostawcę tożsamości (IdP).
X-Forwarded-Email Adres e-mail użytkownika, który został dostarczony przez dostawcę usług tożsamości.
X-Real-Ip Adres IP klienta, który złożył oryginalne żądanie.
X-Request-Id Identyfikator UUID żądania.

Uzyskiwanie dostępu do nagłówków w kodzie

Dostęp do przekazanych nagłówków w kodzie Twojej aplikacji można uzyskać, korzystając z obiektu żądania dostarczonego przez framework webowy. W poniższym przykładzie pokazano, jak pobrać nagłówek X-Forwarded-User przy użyciu popularnych frameworków Pythona:

Kolba

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

Te nagłówki są dostępne tylko wtedy, gdy aplikacja działa w usłudze Databricks Apps. Podczas testowania lokalnego należy je symulować lub ręcznie dołączać.