Databricks アプリに渡された HTTP ヘッダーにアクセスする
Databricks Apps は、リバース プロキシから特定の X-Forwarded-*
HTTP ヘッダーをアプリに渡します。これらのヘッダーを使用して、クライアントの IP アドレスやプロトコルなど、元の要求に関する情報にアクセスします。
Databricks Apps には、リバース プロキシからアプリに転送される要求に次の X-Forwarded-*
ヘッダーが含まれています。
Header | 説明 |
---|---|
| クライアントによって要求された元のホストまたはドメイン。 |
| IdP によって提供されるユーザー名。 |
| IdP によって提供されるユーザー識別子。 |
| IdPが提供するユーザーEメール。 |
| 元の要求を行ったクライアントの IP アドレス。 |
| 要求の UUID。 |
コード内のヘッダーへのアクセス
転送されたヘッダーには、Web フレームワークによって提供される request オブジェクトを使用して、アプリ コードでアクセスできます。次の例は、一般的な Python フレームワークを使用して X-Forwarded-User
ヘッダーを取得する方法を示しています。
flask
Python
from flask import Flask, request
app = Flask(__name__)
@app.route("/")
def index():
user = request.headers.get("X-Forwarded-User")
return f"Hello, {user}!"
fastapi
Python
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 アプリ内で実行されている場合にのみ使用できます。ローカルでテストする場合は、シミュレートするか、手動で含める必要があります。