code: def configure_authentication(self, database):
          
          options = {"plugins": [], "superadmins": []}
  
          self._display_info("We will now create the first user.")
  
          username = self._ask_with_default("Enter the login of the superadmin", "superadmin")
          realname = self._ask_with_default("Enter the name of the superadmin", "INGInious SuperAdmin")
          email = self._ask_with_default("Enter the email address of the superadmin", "superadmin@inginious.org")
          password = self._ask_with_default("Enter the password of the superadmin", "superadmin")
  
          database.users.insert({"username": username,
                                 "realname": realname,
                                 "email": email,
                                 "password": hashlib.sha512(password.encode("utf-8")).hexdigest(),
                                 "bindings": {},
                                 "language": "en"})
  
          options["superadmins"].append(username)
  
          while True:
              if not self._ask_boolean("Would you like to add another auth method?", False):
                  break
  
              self._display_info("You can choose an authentication plugin between:")
              self._display_info("- 1. LDAP auth plugin. This plugin allows to connect to a distant LDAP host.")
  
              plugin = self._ask_with_default("Enter the corresponding number to your choice", '1')
              if plugin not in ['1']:
                  continue
              elif plugin == '1':
                  options["plugins"].append(self.ldap_plugin())
          return options
docs: Configure the authentication