// GetOauthSecret gets the oauth secret from mongodb for a specified service. If it doesn't exist, an error gets logged. func GetOauthSecret(service string) (string, error) { session := db.GetSession() defer session.Close() config := globalconfig.NewManager() globalconfig.InitModels() secretModel, err := config.GetByKey(service + "-secret") if err != nil { log.Errorf("No Oauth secret found for %s. Please insert it into the collection globalconfig with key %s-secret", service, service) } return secretModel.Value, err }
// GetOauthClientID gets the oauth secret from mongodb for a specified service. If it doesn't exist, an error gets logged. func GetOauthClientID(service string) (string, error) { session := db.GetSession() defer session.Close() config := globalconfig.NewManager() globalconfig.InitModels() clientIDModel, err := config.GetByKey(service + "-clientid") log.Warn(clientIDModel.Value) if err != nil { log.Errorf("No Oauth client id found for %s. Please insert it into the collection globalconfig with key %s-clientid", service, service) } return clientIDModel.Value, err }
// GetCookieSecret gets the cookie secret from mongodb if it exists otherwise, generate a new one and save it func GetCookieSecret() string { session := db.GetSession() defer session.Close() config := globalconfig.NewManager() globalconfig.InitModels() cookie, err := config.GetByKey("cookieSecret") if err != nil { log.Debug("No cookie secret found, generating a new one") secret, err := generateCookieSecret(32) if err != nil { log.Panic("Cannot generate secret cookie") } cookie.Key = "cookieSecret" cookie.Value = secret err = config.Insert(cookie) // Key was inserted by another instance in the meantime if db.IsDup(err) { cookie, err = config.GetByKey("cookieSecret") if err != nil { log.Panic("Cannot retreive cookie secret") } } } log.Debug("Cookie secret: ", cookie.Value) return cookie.Value }