Description

Auth with openid and other mechanisms that use redirects is broken.

Steps to reproduce

try to log in with openid.

Example

n/a

Component selection

Details

MoinMoin Version

1.9 as of today

OS and Version

Python Version

Server Setup

Server Details

Language you are using the wiki in (set in the browser/UserPreferences)

Workaround

diff --git a/MoinMoin/auth/__init__.py b/MoinMoin/auth/__init__.py
index bdcd7bc..fe470e7 100644
--- a/MoinMoin/auth/__init__.py
+++ b/MoinMoin/auth/__init__.py
@@ -138,6 +138,8 @@ from MoinMoin import log
 logging = log.getLogger(__name__)
 
 from MoinMoin import user, wikiutil
+from urllib import quote, quote_plus
+from werkzeug import abort, redirect
 
 
 def get_multistage_continuation_url(request, auth_name, extra_fields={}):

Discussion

Could you please try with:

from werkzeug import abort, redirect, url_quote, url_quote_plus
...
(also change code below to use those calls)

Werkzeug's stuff is usually more comfortable and mostly (not ever) compatible with the stdlib stuff.

Plan


CategoryMoinMoinBugFixed

MoinMoin: MoinMoinBugs/RedirectAuthBroken (last edited 2009-12-15 21:08:40 by JohannesBerg)