code: func registerThroughProxy(token string, params RegisterParams) (*Identity, error) {
  	log.Debugf("Attempting to register through proxy server.")
  
  	keys, err := params.CredsClient.HostCredentials(context.Background(),
  		RegisterUsingTokenRequest{
  			Token:                token,
  			HostID:               params.ID.HostUUID,
  			NodeName:             params.ID.NodeName,
  			Role:                 params.ID.Role,
  			AdditionalPrincipals: params.AdditionalPrincipals,
  			DNSNames:             params.DNSNames,
  			PublicTLSKey:         params.PublicTLSKey,
  			PublicSSHKey:         params.PublicSSHKey,
  		})
  	if err != nil {
  		return nil, trace.Wrap(err)
  	}
  	keys.Key = params.PrivateKey
  
  	return ReadIdentityFromKeyPair(keys)
  }
docs: // registerThroughProxy is used to register through the proxy server.