Fix fastapi-admin login provider binding
This commit is contained in:
@@ -57,7 +57,9 @@ class EnvCredentialProvider(Provider):
|
|||||||
Tortoise admin models.
|
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"
|
access_token = "access_token"
|
||||||
|
|
||||||
def __init__(
|
def __init__(
|
||||||
@@ -82,6 +84,8 @@ class EnvCredentialProvider(Provider):
|
|||||||
|
|
||||||
async def register(self, app: "FastAPIAdmin") -> None:
|
async def register(self, app: "FastAPIAdmin") -> None:
|
||||||
await super().register(app)
|
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.get(self.login_path)(self.login_view)
|
||||||
app.post(self.login_path)(self.login)
|
app.post(self.login_path)(self.login)
|
||||||
app.get(self.logout_path)(self.logout)
|
app.get(self.logout_path)(self.logout)
|
||||||
|
|||||||
Reference in New Issue
Block a user