Authenticate Telegram users through protected Quorum sessions #14
Labels
No labels
area/backend
area/frontend
area/tooling
kind
build
kind
chore
kind
ci
kind
docs
kind
feat
kind
perf
kind
test
size
l
size
m
size
s
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Blocks
Depends on
#18 Collect editable name forms with stress marks
viacheslavshuka/quorum
#20 Display dates and deadlines in each user's saved timezone
viacheslavshuka/quorum
#19 Let users inspect and revoke browser sessions
viacheslavshuka/quorum
#21 Let testers hide ignored organizers from ordinary discovery
viacheslavshuka/quorum
#22 Keep a durable notification inbox with current action status
viacheslavshuka/quorum
#23 Let users control Telegram delivery, reminders, and digests
viacheslavshuka/quorum
#24 Keep browser data useful during slow or lost connections
viacheslavshuka/quorum
#25 Preserve unsaved form input during reauthentication
viacheslavshuka/quorum
#27 Complete registration through verified rating-profile control
viacheslavshuka/quorum
#31 Scan the disposable authenticated API with ZAP
viacheslavshuka/quorum
#45 Browse tests and open website forms through the Telegram bot
viacheslavshuka/quorum
#49 Restore account access through moderator-approved Telegram relinking
viacheslavshuka/quorum
#6 Start the FastAPI runtime with owned database resources
viacheslavshuka/quorum
#7 Create the React application with locked frontend tooling
viacheslavshuka/quorum
#8 Apply PostgreSQL migrations with release compatibility checks
viacheslavshuka/quorum
Reference
viacheslavshuka/quorum#14
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Outcome
Users need one identity across the website and bot. Implement Telegram OIDC login with Authlib and PostgreSQL-backed Quorum browser sessions through asyncpg.
Keep provider handling in an adapter. The core defines identity, session, and completed-registration contracts. Registration progress grants no protected application access.
Acceptance criteria
Validation design
Use controlled OIDC responses to detect missing state, nonce, issuer, audience, expiry, or replay validation. Exercise 30-day and 90-day boundaries with a controllable clock. Polling must leave the inactivity deadline unchanged. PostgreSQL tests must expose session reuse after logout or rotation. API tests must reject CSRF attempts and incomplete-registration credentials before returning protected data.
Dependencies
Related work