Skip to content

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.