Description

The OpenID server doesn't seem to be working. I get always a "403 No request" message when I try to log in to any website. Even if I try to explicitly pass a request, it gives me the same error message.

Steps to reproduce

  1. Any usage of the openid server should reproduce the bug.

Example

Component selection

Details

MoinMoin Version

1.9.0

OS and Version

Debian GNU/Linux, sid

Python Version

2.5.4

Server Setup

Apache 2.2.14 w/ wsgi

Server Details

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

English

Workaround

Discussion

I don't run the openid code on my sites, Rowan, can you help here? -- ThomasWaldmann 2009-12-08 11:10:04

Haven't tried the OP in Moin for a long time now. The error is probably because of the change in Moin 1.9's Request objects. (Made the changes in the RP but not OP). -- RowanKerr 2009-12-15 05:41:00

This appears to fix it for me, but I have no idea whether it is correct:

diff --git a/MoinMoin/action/serveopenid.py b/MoinMoin/action/serveopenid.py
index 59548a6..341c9f8 100644
--- a/MoinMoin/action/serveopenid.py
+++ b/MoinMoin/action/serveopenid.py
@@ -170,7 +170,7 @@ class MoinOpenIDServer:
     def handle(self):
         _ = self._
         request = self.request
-        form = request.form
+        form = request.values
 
         username = request.page.page_name
         if 'openid.user' in request.page.pi:

-- JohannesBerg 2009-12-15 13:14:17

(!) request.form is POSTed form data only, request.args is URL args only, request.values is both mixed.

There is another request.form in handle_response - do you think we need .values there also?

Better to use request.values everywhere as you can't guarantee how the external site will send OpenID parameters to your OP (GET vs POST) -- RowanKerr 2009-12-18 03:02:00

The patch fixes the problem for me. -- TiagoPeixoto 2024-04-27 21:10:20

Plan


CategoryMoinMoinBugFixed

MoinMoin: MoinMoinBugs/OpenIDNoRequest (last edited 2009-12-21 17:51:08 by ThomasWaldmann)