次の方法で共有


Databricks アプリに渡された HTTP ヘッダーにアクセスする

Databricks Apps は、リバース プロキシからアプリに特定の X-Forwarded-* HTTP ヘッダーを渡します。 これらのヘッダーを使用して、クライアントの IP アドレスやプロトコルなど、元の要求に関する情報にアクセスします。

Databricks Apps には、リバース プロキシからアプリに転送される要求に、次の X-Forwarded-* ヘッダーが含まれています。

ヘッダ 説明
X-Forwarded-Host クライアントによって要求された元のホストまたはドメイン。
X-Forwarded-Preferred-Username IdP によって提供されるユーザー名。
X-Forwarded-User IdP によって提供されるユーザー識別子。
X-Forwarded-Email IdP によって提供されるユーザー電子メール。
X-Real-Ip 元の要求を行ったクライアントの IP アドレス。
X-Request-Id 要求の UUID。

コード内のヘッダーにアクセスする

Web フレームワークによって提供される要求オブジェクトを使用して、アプリ コード内の転送されたヘッダーにアクセスできます。 次の例は、一般的な Python フレームワークを使用して X-Forwarded-User ヘッダーを取得する方法を示しています。

フラスコ

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

これらのヘッダーは、アプリが Databricks Apps 内で実行されている場合にのみ使用できます。 ローカルでテストする場合は、それらをシミュレートまたは手動で含める必要があります。