code: func (o *OAuthProvider) OAuth2Client(c *Context) *oauth2.Config {
  
  	if o.ID == "" {
  		return nil
  	}
  
  	service := c.Service()
  
  	if service.DefaultOAuth2 == nil {
  		return nil
  	}
  
  	config := service.DefaultOAuth2.Config
  
  	config.ClientID = o.ID
  	config.ClientSecret = o.Secret
  	if c.User.ID != 0 {
  		config.RedirectURL = c.User.OauthRedirectURL()
  	}
  
  	config.Endpoint = oauth2.Endpoint{
  		AuthURL:  replaceBaseURL(config.Endpoint.AuthURL, o.BaseURL),
  		TokenURL: replaceBaseURL(config.Endpoint.TokenURL, o.BaseURL),
  	}
  
  	return &config
  }
docs: // OAuth2Client returns oauth2.Config using OAuthProvider details