Merge pull request #610 from filebrowser/hashedpwd
feat: require hashed password and add hash commandpull/612/head
commit
a2d32438f1
|
@ -0,0 +1,24 @@
|
||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/filebrowser/filebrowser/v2/users"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
rootCmd.AddCommand(hashCmd)
|
||||||
|
}
|
||||||
|
|
||||||
|
var hashCmd = &cobra.Command{
|
||||||
|
Use: "hash <password>",
|
||||||
|
Short: "Hashes a password",
|
||||||
|
Long: `Hashes a password using bcrypt algorithm.`,
|
||||||
|
Args: cobra.ExactArgs(1),
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
pwd, err := users.HashPwd(args[0])
|
||||||
|
checkErr(err)
|
||||||
|
fmt.Println(pwd)
|
||||||
|
},
|
||||||
|
}
|
11
cmd/root.go
11
cmd/root.go
|
@ -43,7 +43,7 @@ func init() {
|
||||||
vaddP(f, "scope", "s", ".", "scope to prepend to a user's scope when it is relative")
|
vaddP(f, "scope", "s", ".", "scope to prepend to a user's scope when it is relative")
|
||||||
vaddP(f, "baseurl", "b", "", "base url")
|
vaddP(f, "baseurl", "b", "", "base url")
|
||||||
vadd(f, "username", "admin", "username for the first user when using quick config")
|
vadd(f, "username", "admin", "username for the first user when using quick config")
|
||||||
vadd(f, "password", "admin", "password for the first user when using quick config")
|
vadd(f, "password", "", "hashed password for the first user when using quick config (default \"admin\")")
|
||||||
|
|
||||||
if err := v.BindPFlags(f); err != nil {
|
if err := v.BindPFlags(f); err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
|
@ -197,13 +197,16 @@ func quickSetup(cmd *cobra.Command) {
|
||||||
|
|
||||||
username := v.GetString("username")
|
username := v.GetString("username")
|
||||||
password := v.GetString("password")
|
password := v.GetString("password")
|
||||||
|
|
||||||
|
if password == "" {
|
||||||
|
password, err = users.HashPwd("admin")
|
||||||
|
checkErr(err)
|
||||||
|
}
|
||||||
|
|
||||||
if username == "" || password == "" {
|
if username == "" || password == "" {
|
||||||
checkErr(errors.New("username and password cannot be empty during quick setup"))
|
checkErr(errors.New("username and password cannot be empty during quick setup"))
|
||||||
}
|
}
|
||||||
|
|
||||||
password, err = users.HashPwd(password)
|
|
||||||
checkErr(err)
|
|
||||||
|
|
||||||
user := &users.User{
|
user := &users.User{
|
||||||
Username: username,
|
Username: username,
|
||||||
Password: password,
|
Password: password,
|
||||||
|
|
Loading…
Reference in New Issue