Password Reset
Password Reset
Nexus GSLB supports self-service password reset via email for local accounts. Administrators can also generate reset tokens directly from the CLI without requiring email.
OIDC/SSO accounts cannot use this flow — password management is delegated to the identity provider.
Self-service reset (WebUI)
- Go to the login page and click Forgot password? beneath the password field.
- Enter your email address and click Send reset token.
- Check your inbox for a message from Nexus GSLB containing a one-time reset token.
- Back on the login page, click I have a token, enter the token and your new password, then click Set new password.
The token expires in 15 minutes. Each request invalidates any previous token for that account.
SMTP not configured
If your administrator has not configured SMTP, the "Send reset token"
step returns an error. Ask your administrator to use the
gslbctl users reset-password command to generate a token
for you.
Admin reset (gslbctl)
Administrators can generate a reset token for any user without needing email to be configured:
gslbctl users reset-password user@example.com --server https://nexus-api.example.comOutput when SMTP is configured:
Reset token for user@example.com:
a1b2c3d4e5f6...
Expires: 2026-06-08 14:30:00
Email sent to user.
Output when SMTP is not configured:
Reset token for user@example.com:
a1b2c3d4e5f6...
Expires: 2026-06-08 14:30:00
SMTP not configured — share this token with the user directly.
They can enter it at the login page under "Forgot password?".
Share the token with the user via a secure channel (encrypted message, password manager, etc.).
API
Request reset email
POST /api/v1/auth/password-reset/request
Content-Type: application/json
{ "email": "user@example.com" }No authentication required. Always returns 200 to prevent account enumeration. Returns 503 if SMTP is not configured.
Confirm reset
POST /api/v1/auth/password-reset/confirm
Content-Type: application/json
{ "token": "a1b2c3...", "password": "newpassword123" }No authentication required. Returns 204 on success.
Admin-generate token
POST /api/v1/users/{id}/password-reset
Authorization: Bearer <admin-token>Requires users:write permission. Returns:
{
"token": "a1b2c3...",
"expiresAt": 1749388800,
"emailSent": true
}emailSent is false when SMTP is not
configured — the token is still valid and can be shared manually.
SMTP configuration
Password-reset emails use the first SMTP entry from your
gslbd.yaml alerts.smtp block:
alerts:
smtp:
- host: smtp.example.com
port: 587
from: "nexus@example.com"
username: "nexus@example.com"
password: "..."
startTls: trueThe to field is not required for the reset flow — the
destination is always the user's registered email address.
Security notes
- Tokens are single-use and expire after 15 minutes.
- Requesting a reset invalidates any previously issued token for that account.
- The
requestendpoint always returns 200 to prevent user enumeration. - Tokens are 32 random bytes (64 hex characters), cryptographically generated.