diff options
| author | Dennis Fink | 2026-08-10 23:28:03 +0200 |
|---|---|---|
| committer | Dennis Fink | 2026-08-10 23:28:03 +0200 |
| commit | b3e12b975064f0873bdb4d2834cae75925387d6b (patch) | |
| tree | 92a7ce50f9a3e2b0a49aa32addd9c7e35062d91e /webmentions_ssg/__init__.py | |
| parent | 5b39f70aa14cac635b6084170e9d0bd3f548b911 (diff) | |
| download | webmentions-ssg-b3e12b975064f0873bdb4d2834cae75925387d6b.tar.gz webmentions-ssg-b3e12b975064f0873bdb4d2834cae75925387d6b.zip | |
feat(core): add received webmention admin actions
Add authenticated delete and reverify actions to the received
webmentions admin view and protect them with CSRF validation.
Enable CSRF protection globally while exempting the public Webmention
endpoint.
Diffstat (limited to 'webmentions_ssg/__init__.py')
| -rw-r--r-- | webmentions_ssg/__init__.py | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/webmentions_ssg/__init__.py b/webmentions_ssg/__init__.py index f66e478..b799678 100644 --- a/webmentions_ssg/__init__.py +++ b/webmentions_ssg/__init__.py @@ -14,6 +14,7 @@ from flask import Flask from flask_bootstrap import Bootstrap5 from flask_migrate import Migrate, upgrade from flask_sqlalchemy import SQLAlchemy +from flask_wtf.csrf import CSRFProtect from sqlalchemy.orm import DeclarativeBase from webmentions_ssg.config import DefaultConfig, DevelopmentConfig, ProductionConfig @@ -28,6 +29,7 @@ class Base(DeclarativeBase): pass +CSRF = CSRFProtect() BOOTSTRAP = Bootstrap5() DATABASE = SQLAlchemy(model_class=Base) MIGRATE = Migrate() @@ -94,6 +96,7 @@ def create_app(config_class: type[DefaultConfig] | None = None) -> Flask: DATABASE.init_app(app) MIGRATE.init_app(app, db=DATABASE) + CSRF.init_app(app) from .auth import AUTH |
