56b582cdb9
This adds support for providing custom Go templates for use in the `rclone authorize` command. Fixes #6741
44 lines
1.4 KiB
Go
44 lines
1.4 KiB
Go
// Package authorize provides the authorize command.
|
|
package authorize
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/rclone/rclone/cmd"
|
|
"github.com/rclone/rclone/fs/config"
|
|
"github.com/rclone/rclone/fs/config/flags"
|
|
"github.com/spf13/cobra"
|
|
)
|
|
|
|
var (
|
|
noAutoBrowser bool
|
|
template string
|
|
)
|
|
|
|
func init() {
|
|
cmd.Root.AddCommand(commandDefinition)
|
|
cmdFlags := commandDefinition.Flags()
|
|
flags.BoolVarP(cmdFlags, &noAutoBrowser, "auth-no-open-browser", "", false, "Do not automatically open auth link in default browser")
|
|
flags.StringVarP(cmdFlags, &template, "template", "", "", "The path to a custom Go template for generating HTML responses")
|
|
}
|
|
|
|
var commandDefinition = &cobra.Command{
|
|
Use: "authorize",
|
|
Short: `Remote authorization.`,
|
|
Long: `
|
|
Remote authorization. Used to authorize a remote or headless
|
|
rclone from a machine with a browser - use as instructed by
|
|
rclone config.
|
|
|
|
Use --auth-no-open-browser to prevent rclone to open auth
|
|
link in default browser automatically.
|
|
|
|
Use --template to generate HTML output via a custom Go template. If a blank string is provided as an argument to this flag, the default template is used.`,
|
|
Annotations: map[string]string{
|
|
"versionIntroduced": "v1.27",
|
|
},
|
|
RunE: func(command *cobra.Command, args []string) error {
|
|
cmd.CheckArgs(1, 3, command, args)
|
|
return config.Authorize(context.Background(), args, noAutoBrowser, template)
|
|
},
|
|
}
|