Fix fastapi-admin login provider binding

This commit is contained in:
dwindown
2026-04-01 15:33:16 +07:00
parent 68f635eac1
commit 7716b119f7

View File

@@ -57,7 +57,9 @@ class EnvCredentialProvider(Provider):
Tortoise admin models.
"""
name = "env_credential_provider"
# fastapi-admin login templates expect `request.app.login_provider`
# to exist for resolving login/logout URLs.
name = "login_provider"
access_token = "access_token"
def __init__(
@@ -82,6 +84,8 @@ class EnvCredentialProvider(Provider):
async def register(self, app: "FastAPIAdmin") -> None:
await super().register(app)
# Keep explicit assignment for compatibility across fastapi-admin versions.
app.login_provider = self
app.get(self.login_path)(self.login_view)
app.post(self.login_path)(self.login)
app.get(self.logout_path)(self.logout)