func (self *SessionController) SignIn(c *gin.Context) { state, err := util.GenerateRandomString() if err != nil { fmt.Fprintf(os.Stderr, "%+v\n", err) c.String(http.StatusBadRequest, "Failed to generate state string.", err) return } session := sessions.Default(c) session.Set("state", state) session.Save() url := self.oauthConf.AuthCodeURL(state, oauth2.AccessTypeOnline) c.Redirect(http.StatusSeeOther, url) }
func LoadConfig() (*Config, error) { var config Config err := envconfig.Process(ConfigPrefix, &config) if err != nil { return nil, errors.Wrap(err, "Failed to load config from envs.") } if config.SecretKeyBase == "" { s, err := util.GenerateRandomString() if err != nil { return nil, err } config.SecretKeyBase = s } return &config, nil }