code: func (r *GithubAuthRequest) Check() error {
  	if r.ConnectorID == "" {
  		return trace.BadParameter("missing ConnectorID")
  	}
  	if r.StateToken == "" {
  		return trace.BadParameter("missing StateToken")
  	}
  	if len(r.PublicKey) != 0 {
  		_, _, _, _, err := ssh.ParseAuthorizedKey(r.PublicKey)
  		if err != nil {
  			return trace.BadParameter("bad PublicKey: %v", err)
  		}
  		if (r.CertTTL > defaults.MaxCertDuration) || (r.CertTTL < defaults.MinCertDuration) {
  			return trace.BadParameter("wrong CertTTL")
  		}
  	}
  	return nil
  }
docs: // Check makes sure the request is valid