feat: disable enroll 2fa in demo mode

This commit is contained in:
Jacky 2024-07-23 23:00:17 +08:00
parent 46e78f4405
commit bcff00c47b
No known key found for this signature in database
GPG key ID: 215C21B10DF38B4D

View file

@ -20,14 +20,14 @@ import (
) )
func GenerateTOTP(c *gin.Context) { func GenerateTOTP(c *gin.Context) {
user := api.CurrentUser(c) u := api.CurrentUser(c)
issuer := fmt.Sprintf("Nginx UI %s", settings.ServerSettings.Name) issuer := fmt.Sprintf("Nginx UI %s", settings.ServerSettings.Name)
issuer = strings.TrimSpace(issuer) issuer = strings.TrimSpace(issuer)
otpOpts := totp.GenerateOpts{ otpOpts := totp.GenerateOpts{
Issuer: issuer, Issuer: issuer,
AccountName: user.Name, AccountName: u.Name,
Period: 30, // seconds Period: 30, // seconds
Digits: otp.DigitsSix, Digits: otp.DigitsSix,
Algorithm: otp.AlgorithmSHA1, Algorithm: otp.AlgorithmSHA1,
@ -76,6 +76,13 @@ func EnrollTOTP(c *gin.Context) {
return return
} }
if settings.ServerSettings.Demo {
c.JSON(http.StatusBadRequest, gin.H{
"message": "This feature is disabled in demo mode",
})
return
}
var json struct { var json struct {
Secret string `json:"secret" binding:"required"` Secret string `json:"secret" binding:"required"`
Passcode string `json:"passcode" binding:"required"` Passcode string `json:"passcode" binding:"required"`