Authentication¶
Purpose¶
People sign in to MKP with email and password (Django session auth). Portfolio apps trust MKP via OAuth Toolkit OIDC.
Overview¶
Local login¶
Email is the unique identifier. There is no public signup and no email verification. The platform is limited to two fixed users, created/reset by python manage.py seed_dev_data:
cadams@mkpworks.com/Summer2026!(staff)csorenson@mkpworks.com/Summer2026!(staff)
Both are staff. Login and logout live at /accounts/login/ and /accounts/logout/. After sign-in, users land on the Platform Control Center (/platform/). The two accounts are ensured by migration accounts.0002_ensure_platform_users (and reset by seed_dev_data in development).
OIDC for products¶
Authorization Code + PKCE. Portfolio Django apps authenticate users against /o/ and map local rows by stable user id (public_id / sub), not by inventing a second password database. Full onboarding (thin sites without a user DB, Django library install, profile fields, pasteable LLM brief) lives in Django integration.
Troubleshooting¶
- Suspended (
is_active=False) users cannot authenticate.
Related Pages¶
- Django integration — centralized identity onboarding for client sites
- Client registration
- Security