Description

Having configured one MoinMoin wiki as an OpenID provider, and the second to use MoinMoin authentication, I find that attempting to log into the second wiki with an OpenID from the first results in the following error:

Steps to reproduce

  1. Create wiki #1
    • set openid_server_enabled = True

  2. Create a user in wiki #1
  3. Create a home page for the user and copy its URL to the clipboard
  4. Create wiki #2
    • set auth = [MoinMoin.auth.openidrp.OpenIDAuth ()]

  5. Log into wiki #2 with the user's URL
  6. "OpenID discovery failure, not a valid OpenID." error displayed

Example

You can just use https://robots.org.uk/ as an !OpenID url if you want, that's the wiki #1 in my example above.

Component selection

Details

Here's the web server error log created when wiki #2 tries to access wiki #1:

Notice libcurl in the user agent. This matches the default ua_spiders regex which contains a branch that simply matches curl.

MoinMoin Version

1.9.3

OS and Version

Debian GNU/Linux 6.0

Python Version

2.6.6

Server Setup

Apache/2.2 mod_fcgid/2.3.6 flup/1.0.2

Workaround

Discussion

I tried logging in with my !OpenID to a Moin wiki hosted by a friend and found that it worked without performing the above workarounds.

Note the differing user agent string. I think this is because that host does not have the pycurl Python module installed, therefore the openid module falls back to using urllib. So if you can't reproduce the bug, install pycurl, restart Moin, and try again.

Plan


CategoryMoinMoinBugFixed

MoinMoin: MoinMoinBugs/SpiderCheckPreventsOpenIDAuthenticationBetweenMoinWikis (last edited 2011-11-28 23:01:02 by ThomasWaldmann)