Compare commits

...

2 Commits

Author SHA1 Message Date
giles
bd18d0befc Route auth to federation: login_url default, logout URL, federation_url global
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 08:41:18 +00:00
giles
5bed4a6c78 Update README: coop_url → blog_url
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 08:35:16 +00:00
4 changed files with 6 additions and 5 deletions

View File

@@ -44,7 +44,7 @@ shared/
cart_loader.py # Cart data loader for context processors
context.py # Jinja2 context processors
jinja_setup.py # Jinja2 template environment setup
urls.py # URL helpers (coop_url, market_url, etc.)
urls.py # URL helpers (blog_url, market_url, etc.)
user_loader.py # Load current user from session
http_utils.py # HTTP utility functions
events/

View File

@@ -18,7 +18,7 @@
{% endif %}
{% endif %}
</div>
<form action="{{ blog_url('/auth/logout/') }}" method="post">
<form action="{{ federation_url('/auth/logout/') }}" method="post">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}">
<button
type="submit"

View File

@@ -13,7 +13,7 @@ from shared.browser.app.csrf import generate_csrf_token
from shared.browser.app.authz import has_access
from shared.browser.app.filters import register as register_filters
from .urls import blog_url, market_url, cart_url, events_url, login_url, page_cart_url, market_product_url
from .urls import blog_url, market_url, cart_url, events_url, federation_url, login_url, page_cart_url, market_product_url
def setup_jinja(app: Quart) -> None:
@@ -97,6 +97,7 @@ def setup_jinja(app: Quart) -> None:
app.jinja_env.globals["market_url"] = market_url
app.jinja_env.globals["cart_url"] = cart_url
app.jinja_env.globals["events_url"] = events_url
app.jinja_env.globals["federation_url"] = federation_url
app.jinja_env.globals["login_url"] = login_url
app.jinja_env.globals["page_cart_url"] = page_cart_url
app.jinja_env.globals["market_product_url"] = market_product_url

View File

@@ -66,9 +66,9 @@ def market_product_url(product_slug: str, suffix: str = "", market_place=None) -
def login_url(next_url: str = "") -> str:
# Auth lives in blog for now. Set AUTH_APP=federation to switch.
# Auth lives in federation. Set AUTH_APP to override.
from quart import session as qsession
auth_app = os.getenv("AUTH_APP", "blog")
auth_app = os.getenv("AUTH_APP", "federation")
base = app_url(auth_app, "/auth/login/")
params: list[str] = []
if next_url: