support do=tokenauth login for passwordless accounts

master
Joey Hess 2012-04-02 12:29:13 -04:00
parent f9e96b0c32
commit c16b1e638e
1 changed files with 16 additions and 0 deletions

View File

@ -362,6 +362,22 @@ sub sessioncgi ($$) {
IkiWiki::cgi_prefs($q, $session);
exit;
}
elsif ($q->param('do') eq 'tokenauth') {
my $name=$q->param("name");
my $token=$q->param("token");
if (! defined $name || ! defined $token ||
! length $name || ! length $token) {
error(gettext("incorrect url"));
}
if (! checkpassword($name, $token, "passwordless")) {
error(gettext("access denied"));
}
$session->param("name", $name);
IkiWiki::cgi_prefs($q, $session);
exit;
}
elsif ($q->param("do") eq "register") {
# After registration, need to go somewhere, so show prefs page.
$session->param(postsignin => "do=prefs");