]> sipb.mit.edu Git - ikiwiki.git/blobdiff - IkiWiki/Plugin/openid.pm
revert cgiurl change that broke openid login
[ikiwiki.git] / IkiWiki / Plugin / openid.pm
index f19a559a9e325d2bac6e1309a124e9ed22ed7ac1..0cb8d6289bf958bd030b074a2984e0584dc52b8b 100644 (file)
@@ -77,7 +77,7 @@ sub openid_selector {
 
        my $template=IkiWiki::template("openid-selector.tmpl");
        $template->param(
-               cgiurl => $config{cgiurl},
+               cgiurl => IkiWiki::cgiurl(),
                (defined $openid_error ? (openid_error => $openid_error) : ()),
                (defined $openid_url ? (openid_url => $openid_url) : ()),
                ($real_cgi_signin ? (nonopenidform => $real_cgi_signin->($q, $session, 1)) : ()),
@@ -175,7 +175,7 @@ sub auth ($$) {
                        IkiWiki::redirect($q, $setup_url);
                }
                elsif ($csr->user_cancel) {
-                       IkiWiki::redirect($q, $config{url});
+                       IkiWiki::redirect($q, IkiWiki::baseurl(undef));
                }
                elsif (my $vident = $csr->verified_identity) {
                        $session->param(name => $vident->url);
@@ -187,16 +187,16 @@ sub auth ($$) {
                                        $vident->signed_extension_fields('http://openid.net/srv/ax/1.0'),
                                );
                        }
-                       my $username;
+                       my $nickname;
                        foreach my $ext (@extensions) {
                                foreach my $field (qw{value.email email}) {
                                        if (exists $ext->{$field} &&
                                            defined $ext->{$field} &&
                                            length $ext->{$field}) {
                                                $session->param(email => $ext->{$field});
-                                               if (! defined $username &&
+                                               if (! defined $nickname &&
                                                    $ext->{$field}=~/(.+)@.+/) {
-                                                       $username = $1;
+                                                       $nickname = $1;
                                                }
                                                last;
                                        }
@@ -205,14 +205,14 @@ sub auth ($$) {
                                        if (exists $ext->{$field} &&
                                            defined $ext->{$field} &&
                                            length $ext->{$field}) {
-                                               $username=$ext->{$field};
+                                               $nickname=$ext->{$field};
                                                last;
                                        }
                                }
                        }
-                       if (defined $username) {
-                               $username=~s/\s+/_/g;
-                               $session->param(username => $username);
+                       if (defined $nickname) {
+                               $session->param(nickname =>
+                                       Encode::decode_utf8($nickname));
                        }
                }
                else {