Adding Environment variable to configure the session expiration

This commit is contained in:
Joachim Hill-Grannec 2017-08-17 12:37:52 -07:00
parent a848f3e793
commit c30198e412
3 changed files with 15 additions and 6 deletions

View file

@ -93,6 +93,12 @@ var flags = []cli.Flag{
Name: "open",
Usage: "open user registration",
},
cli.DurationFlag{
EnvVar: "DRONE_SESSION_EXPIRES",
Name: "session-expires",
Usage: "Set the session expiration time default 72h",
Value: time.Hour * 72,
},
cli.StringSliceFlag{
EnvVar: "DRONE_ESCALATE",
Name: "escalate",
@ -632,6 +638,7 @@ func setupEvilGlobals(c *cli.Context, v store.Store, r remote.Remote) {
droneserver.Config.Server.Pass = c.String("agent-secret")
droneserver.Config.Server.Host = strings.TrimRight(c.String("server-host"), "/")
droneserver.Config.Server.Port = c.String("server-addr")
droneserver.Config.Server.SessionExpires = c.Duration("session-expires")
droneserver.Config.Pipeline.Networks = c.StringSlice("network")
droneserver.Config.Pipeline.Volumes = c.StringSlice("volume")
droneserver.Config.Pipeline.Privileged = c.StringSlice("escalate")

View file

@ -112,7 +112,7 @@ func HandleAuth(c *gin.Context) {
return
}
exp := time.Now().Add(time.Hour * 72).Unix()
exp := time.Now().Add(Config.Server.SessionExpires).Unix()
token := token.New(token.SessToken, u.Login)
tokenstr, err := token.SignExpires(u.Hash, exp)
if err != nil {

View file

@ -22,6 +22,7 @@ import (
"github.com/drone/drone/model"
"github.com/drone/drone/remote"
"github.com/drone/drone/store"
"time"
)
// This file is a complete disaster because I'm trying to wedge in some
@ -51,11 +52,12 @@ var Config = struct {
// Secrets model.SecretStore
}
Server struct {
Key string
Cert string
Host string
Port string
Pass string
Key string
Cert string
Host string
Port string
Pass string
SessionExpires time.Duration
// Open bool
// Orgs map[string]struct{}
// Admins map[string]struct{}