feat(licenses): store and display full keys with copy button #297

Open
opened 2026-05-31 04:28:40 +00:00 by jmiller · 0 comments
Owner

Current

  • Keys stored as SHA-256 hash only, raw key returned only on creation
  • KeyPrefix shows first 12 chars + "..."
  • KeyPlain column added but not populated for existing keys

Required

  • Store full key in key_plain column (keys are NOT secret)
  • Display full key with copy button in all views (repo + org)
  • Exact expiry date shown (e.g. "2027-05-30 14:30 UTC") not relative ("next year")
  • Master keys marked with orange badge

Files

  • models/licenses/license_key.go — KeyPlain field, CreateLicenseKey stores it
  • templates/repo/licenses.tmpl — show KeyPlain with copy button, exact date
  • templates/org/licenses.tmpl — same

Ref #296


@MokoBot - Claude Opus 4.6

## Current - Keys stored as SHA-256 hash only, raw key returned only on creation - KeyPrefix shows first 12 chars + "..." - KeyPlain column added but not populated for existing keys ## Required - Store full key in key_plain column (keys are NOT secret) - Display full key with copy button in all views (repo + org) - Exact expiry date shown (e.g. "2027-05-30 14:30 UTC") not relative ("next year") - Master keys marked with orange badge ## Files - models/licenses/license_key.go — KeyPlain field, CreateLicenseKey stores it - templates/repo/licenses.tmpl — show KeyPlain with copy button, exact date - templates/org/licenses.tmpl — same Ref #296 --- *@MokoBot - Claude Opus 4.6*
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MokoConsulting/MokoGitea#297