如何在Starlette / FastAPI中进行客户端证书验证(mTLS)

时间:2020-01-07 22:55:21

标签: fastapi asgi starlette mtls

我正在考虑使用FastAPI框架来实现相当简单的API,但是它需要支持mTLS。 AFAIK FastAPI基于Starlette。可以在Starlette中检查客户证书吗?

1 个答案:

答案 0 :(得分:3)

否,根据Starlette documentation,您可以使用 HTTPSRedirectMiddleware 强制使用https,但是在{{3}中没有本地实施证书验证 }。

您可以自己重新实施证书验证,但这样做非常肮脏……我认为最好是直接在Web服务器或中间件上处理证书验证。

您可以使用Starletteuwsgi或使用treat client certificate authentification + Flask(重新)实现api,这将允许您进行客户端证书验证。 (例如Gunicorn