How do I implement the login, register and "Forgotten password" forms? I'm trying to implement the three Drupal 8 user forms : login, register account and forgotten password forms.

I'm creating custom pages in my module for each one of them because I want to display content around those forms, change titles, hook the forms.

I'm having a hard time to do it, especially to get those forms in order to send them to the template and render them.
Here is what I ended up doing in my controllers :

# Login form
public function content() {
  $formBuilder = $this-&gt;formBuilder();
  $form = $formBuilder-&gt;getForm("Drupal\user\Form\UserLoginForm");
  return [
  '#theme' =&gt; 'weber_login_form',
  '#login_form' =&gt; $form,
  ];
}

# Forgotten password form
public function content() {
  $formBuilder = $this-&gt;formBuilder();
  $form = $formBuilder-&gt;getForm("Drupal\user\Form\UserPasswordForm");
  return [
    '#theme' =&gt; 'weber_password_form',
    '#password_form' =&gt; $form,
  ];
}

# Register form
public function content() {
  $entity = \Drupal::entityManager()
  -&gt;getStorage('user')
  -&gt;create(array());

  $formObject = \Drupal::entityManager()
  -&gt;getFormObject('user', 'register')
  -&gt;setEntity($entity);

  $form = \Drupal::formBuilder()-&gt;getForm($formObject);
  return [
    '#theme' =&gt; 'weber_register_form',
    '#register_form' =&gt; $form,
    '#link' =&gt; NULL,
  ];
}