aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/loginselector.pm
diff options
context:
space:
mode:
authorJoey Hess <joeyh@joeyh.name>2015-05-13 22:27:03 -0400
committerJoey Hess <joeyh@joeyh.name>2015-05-13 22:27:03 -0400
commit95e1e51caafbb3e4b179936b6d191ca87f47d4ae (patch)
tree00b33106e2a4030c1f5a237592b9a2f55a7020b0 /IkiWiki/Plugin/loginselector.pm
parentf1d77f81933b4e4c38780a1934ac6daaaf0a9b80 (diff)
downloadikiwiki-95e1e51caafbb3e4b179936b6d191ca87f47d4ae.tar
ikiwiki-95e1e51caafbb3e4b179936b6d191ca87f47d4ae.tar.gz
emailauth link sent and verified; user login works
Still some work to do since the user name is an email address and should not be leaked.
Diffstat (limited to 'IkiWiki/Plugin/loginselector.pm')
-rw-r--r--IkiWiki/Plugin/loginselector.pm15
1 files changed, 9 insertions, 6 deletions
diff --git a/IkiWiki/Plugin/loginselector.pm b/IkiWiki/Plugin/loginselector.pm
index 1a322a53a..26c80b4ce 100644
--- a/IkiWiki/Plugin/loginselector.pm
+++ b/IkiWiki/Plugin/loginselector.pm
@@ -21,12 +21,13 @@ sub register_login_plugin ($$$$) {
# This sub is passed a cgi object, and should return true
# if it looks like the user is logging in using the plugin.
my $plugin_check_input=shift;
- # This sub is passed a cgi object, a session object, and an error
- # display callback, and should handle the actual authentication.
- # It can either exit w/o returning, if it is able to handle
- # auth, or it can pass an error message to the error display
- # callback to make the openid selector form be re-disiplayed with
- # an error message on it.
+ # This sub is passed a cgi object, a session object, an error
+ # display callback, and an info display callback, and should
+ # handle the actual authentication. It can either exit w/o
+ # returning, if it is able to handle auth, or it can pass an
+ # error message to the error display callback to make the
+ # openid selector form be re-disiplayed with an error message
+ # on it.
my $plugin_auth=shift;
$login_plugins{$plugin_name}={
setup => $plugin_setup,
@@ -56,6 +57,8 @@ sub login_selector {
if ($login_plugins{$plugin}->{check_input}->($q)) {
$login_plugins{$plugin}->{auth}->($q, $session, sub {
$template->param(login_error => shift());
+ }, sub {
+ $template->param(login_info => shift());
});
last;
}