Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| projects:member_portal:home [2025/10/12 12:21] – samp20 | projects:member_portal:home [2025/10/24 00:15] (current) – samp20 | ||
|---|---|---|---|
| Line 13: | Line 13: | ||
| {{drawio> | {{drawio> | ||
| - | ===== Tasks ===== | + | ===== Left to do ===== |
| - | ^ Description ^ Depends on ^ Assigned to ^ | + | Required for initial demo: |
| - | | Implement [[projects:member_portal: | + | |
| - | | Email Authentication | | samp20 | | + | |
| - | | Rate limiter | | - | | + | |
| - | | Initial [[projects: | + | |
| - | | [[projects: | + | |
| - | | TOTP Authentication | | - | | + | |
| - | | Keyfob authentication | | - | | + | |
| + | * Portal homepage | ||
| + | * Hardcode OAuth permissions for demo | ||
| + | * Logout | ||
| + | * Host demo under Hackspace beta domain | ||
| + | * Sample OpenID compatible application (suggestions welcome) | ||
| + | |||
| + | Shortly after: | ||
| + | * Rate limiter | ||
| + | * By attempted email address | ||
| + | * By IP address | ||
| + | * Object cleanup system | ||
| + | |||
| + | Future work: | ||
| + | * Permissions system | ||
| + | * PKCE | ||
| + | * View/edit personal details | ||
| + | * View/delete active sessions | ||
| + | * External logins (keyfob) | ||
| + | * Admin pages | ||
| + | * Clients | ||
| + | * Roles | ||
| + | * Members | ||
| ===== Project layout ===== | ===== Project layout ===== | ||
| Line 74: | Line 89: | ||
| For now we can probably use an in-memory SQLite database for testing. We may need to switch to a proper PostgreSQL database if we start to depend on DB specific features, at which point we'll need to clean the database before every test run. | For now we can probably use an in-memory SQLite database for testing. We may need to switch to a proper PostgreSQL database if we start to depend on DB specific features, at which point we'll need to clean the database before every test run. | ||
| + | |||
| + | ===== Models ===== | ||
| + | |||
| + | {{drawio> | ||
| + | |||
| + | ===== Tokens ===== | ||
| + | |||
| + | A common pattern that's required is to store an external reference to a table row in a secure way. The pattern we use is to store an '' | ||
| + | |||