Web application brings your custom skins back in offline Minecraft servers.
Go to file
Gerrit User 1039238 e5b7d55b95 Create change
GitHub Pull Request: https://github.com/bs-community/blessing-skin-server/pull/675

[Security] Dynamic Email Verification & Password Reset Links

 **Problem**
1. **Static Signature Vulnerability**:
   - Email verification links used a static signature algorithm (same link for lifetime), allowing account hijacking if links were leaked.
   - *Worst-case scenario*: Compromised AppKey + leaked link → full-site account under danger.
2. **Overly Long Reset Window**:
   - Password reset links remained valid for 1 hour, enabling attackers to hijack accounts if intercepted.
   - *Worst-case scenario*: Compromised AppKey + leaked link → full-site account account take over.

 **Solution**
- **Email Verification**:
  - Replaced static signatures with **HMAC-SHA256 + timestamp + nonce**.
  - Links are now **one-time-use** and expire immediately after verification.
- **Password Reset**:
  - Links are now **one-time-use** and expire immediately after verification.

 **Impact**
- **Closed Communities**: Critical for real-name systems (e.g., gaming, enterprise).
- **AppKey Leak Mitigation**: Even with leaked AppKey, intercepted links are now useless.

The commit message is translated by Deepseek due to my poor English. Please do pardon me.

Patch-set: 1
Change-id: I0dc85e3e0aca60876e54131288c53b3f18c75cd5
Subject: [Security] Dynamic Email Verification & Password Reset Links  **Problem** 1. **Static Signature Vulnerability**:    - Email verification links used a static signature algorithm (same link for lifetime), allowing account hijacking if links were leaked.    - *Worst-case scenario*: Compromised AppKey + leaked link → full-site account under danger. 2. **Overly Long Reset Window**:    - Password reset links remained valid for 1 hour, enabling attackers to hijack accounts if intercepted.    - *Worst-case scenario*: Compromised AppKey + leaked link → full-site account account take over.
Branch: refs/heads/dev
Status: new
Topic: 
Commit: 3d42aab16d
Tag: autogenerated:gerrit:newPatchSet
Groups: 3d42aab16d
Private: false
Work-in-progress: false
2026-02-01 09:52:09 +00:00