code: func (c *Context) SaveOAuthProvider(baseURL url.URL, id string, secret string) (*OAuthProvider, error) {
  	if id == "" || secret == "" {
  		return nil, errors.New("id and secret must not be empty")
  	}
  
  	baseURL.Host = strings.ToLower(baseURL.Host)
  
  	provider := OAuthProvider{BaseURL: baseURL, ID: id, Secret: secret, Service: c.ServiceName}
  	//TODO: multiply installations on one host are not available
  	c.db.C("oauth_providers").UpsertId(provider.internalID(), provider.toBson())
  
  	return &provider, nil
  }
docs: // SaveOAuthProvider add the OAuth client to DB. Useful when the new OAuth provider registred for self-hosted services