 464ae81a36
			
		
	
	
	
	
	464ae81a36- Remove non base64-ed version of JWT secret generation. Because all occurences need the Base64 version. (cherry picked from commit 6a6b5a31a8e38cb953fcca1c8847ea219234f10c) (cherry picked from commit 066b8ca6b40a7342352983de35f1ca6683927426)
		
			
				
	
	
		
			100 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| // Copyright 2016 The Gogs Authors. All rights reserved.
 | |
| // Copyright 2016 The Gitea Authors. All rights reserved.
 | |
| // SPDX-License-Identifier: MIT
 | |
| 
 | |
| package cmd
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 	"os"
 | |
| 
 | |
| 	"code.gitea.io/gitea/modules/generate"
 | |
| 
 | |
| 	"github.com/mattn/go-isatty"
 | |
| 	"github.com/urfave/cli/v2"
 | |
| )
 | |
| 
 | |
| var (
 | |
| 	// CmdGenerate represents the available generate sub-command.
 | |
| 	CmdGenerate = &cli.Command{
 | |
| 		Name:  "generate",
 | |
| 		Usage: "Generate Gitea's secrets/keys/tokens",
 | |
| 		Subcommands: []*cli.Command{
 | |
| 			subcmdSecret,
 | |
| 		},
 | |
| 	}
 | |
| 
 | |
| 	subcmdSecret = &cli.Command{
 | |
| 		Name:  "secret",
 | |
| 		Usage: "Generate a secret token",
 | |
| 		Subcommands: []*cli.Command{
 | |
| 			microcmdGenerateInternalToken,
 | |
| 			microcmdGenerateLfsJwtSecret,
 | |
| 			microcmdGenerateSecretKey,
 | |
| 		},
 | |
| 	}
 | |
| 
 | |
| 	microcmdGenerateInternalToken = &cli.Command{
 | |
| 		Name:   "INTERNAL_TOKEN",
 | |
| 		Usage:  "Generate a new INTERNAL_TOKEN",
 | |
| 		Action: runGenerateInternalToken,
 | |
| 	}
 | |
| 
 | |
| 	microcmdGenerateLfsJwtSecret = &cli.Command{
 | |
| 		Name:    "JWT_SECRET",
 | |
| 		Aliases: []string{"LFS_JWT_SECRET"},
 | |
| 		Usage:   "Generate a new JWT_SECRET",
 | |
| 		Action:  runGenerateLfsJwtSecret,
 | |
| 	}
 | |
| 
 | |
| 	microcmdGenerateSecretKey = &cli.Command{
 | |
| 		Name:   "SECRET_KEY",
 | |
| 		Usage:  "Generate a new SECRET_KEY",
 | |
| 		Action: runGenerateSecretKey,
 | |
| 	}
 | |
| )
 | |
| 
 | |
| func runGenerateInternalToken(c *cli.Context) error {
 | |
| 	internalToken, err := generate.NewInternalToken()
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	fmt.Printf("%s", internalToken)
 | |
| 
 | |
| 	if isatty.IsTerminal(os.Stdout.Fd()) {
 | |
| 		fmt.Printf("\n")
 | |
| 	}
 | |
| 
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| func runGenerateLfsJwtSecret(c *cli.Context) error {
 | |
| 	_, jwtSecretBase64, err := generate.NewJwtSecret()
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	fmt.Printf("%s", jwtSecretBase64)
 | |
| 
 | |
| 	if isatty.IsTerminal(os.Stdout.Fd()) {
 | |
| 		fmt.Printf("\n")
 | |
| 	}
 | |
| 
 | |
| 	return nil
 | |
| }
 | |
| 
 | |
| func runGenerateSecretKey(c *cli.Context) error {
 | |
| 	secretKey, err := generate.NewSecretKey()
 | |
| 	if err != nil {
 | |
| 		return err
 | |
| 	}
 | |
| 
 | |
| 	fmt.Printf("%s", secretKey)
 | |
| 
 | |
| 	if isatty.IsTerminal(os.Stdout.Fd()) {
 | |
| 		fmt.Printf("\n")
 | |
| 	}
 | |
| 
 | |
| 	return nil
 | |
| }
 |