const showIndieAuthForm = options.authnEnabled.includes('indieAuth');
return showIndieAuthForm ? `\t\t\t<section class="indieauth">
\t\t\t\t<h2>Login</h2>
-\t\t\t\t<form action="" method="POST">
+\t\t\t\t<form method="POST">
\t\t\t\t\t<fieldset>
\t\t\t\t\t\t<legend>IndieAuth</legend>
\t\t\t\t\t\t<label for="me">Profile URL:</label>
\t\t\t\t\t\t<input id="me" name="me" type="url" size="40" placeholder="https://example.com/my_profile_url" value="" autofocus>
\t\t\t\t\t\t<input type="hidden" name="me_auto_scheme">
-\t\t\t\t\t\t<button>Login</button>
+\t\t\t\t\t\t<button type="submit">Login</button>
${indieAuthBlurb}
\t\t\t\t\t</fieldset>
\t\t\t\t</form>
</script>` : '';
}
-const userAuthn = ['argon2', 'pam', 'DEBUG_ANY'];
+const userAuthn = ['argon2', 'pam'];
function userSection(ctx, options) {
const userBlurb = (options.userBlurb || []).map((x) => '\t'.repeat(6) + x).join('\n');
const secure = (ctx.clientProtocol || '').toLowerCase() === 'https';
const showUserForm = options.authnEnabled.filter((x) => userAuthn.includes(x)).length
&& (secure || !options.secureAuthOnly);
return showUserForm ? `\t\t\t<section class="user">
-\t\t\t\t<form action="" method="POST">
+\t\t\t\t<form method="POST">
\t\t\t\t\t<fieldset>
\t\t\t\t\t\t<legend>User Account</legend>
\t\t\t\t\t\t<label for="identifier">Username:</label>
-\t\t\t\t\t\t<input id="identifier" name="identifier" value="">
+\t\t\t\t\t\t<input id="identifier" name="identifier" type="text" value="">
\t\t\t\t\t\t<br>
\t\t\t\t\t\t<label for="credential">Password:</label>
\t\t\t\t\t\t<input id="credential" name="credential" type="password" value="">
\t\t\t\t\t\t<br>
-\t\t\t\t\t\t<button>Login</button>
+\t\t\t\t\t\t<button type="submit">Login</button>
${userBlurb}
\t\t\t\t\t</fieldset>
\t\t\t\t</form>