Bug: User Registration is broken in DEVELOP
After filling in TWikiRegistration (pub version, with passwords), I get an error message:
invalid action () in register at /home/aclemens/visiblearea.com/devtwiki/lib/TWiki/UI/Register.pm line 101
TWiki::UI::Register::register_cgi('TWiki=HASH(0x80f57ac)') called at /home/aclemens/visiblearea.com/devtwiki/lib/TWiki/UI.pm line 140
TWiki::UI::run('TWiki::UI::Register', 'register_cgi') called at register line 32
Test case
Go to
http://visiblearea.com/devtwiki/bin/view/TWiki/TWikiRegistration
and try to add a user.
Environment
--
ArthurClemens - 09 Mar 2005
Impact and Available Solutions
Follow up
Possibly related: when using the non-pub version, I get a (OK) confirmation screen that I should wait for an confirmation e-mail. I get it, click on the link, and go to a new confirmation screen that tells me I can edit my personal page. But the link has a question mark: it does not exist. Also the page does not exist on the TWikiUsers page, plus that the user entry is added at the bottom, not in the user list (still with question mark).
--
ArthurClemens - 09 Mar 2005
You have an out of date registration form.
The up to date registration form has a hidden field called "action". The code in lib/TWiki/UI/Register.pm has a case statement that dispatches on this.
How do I know? I had a highly customized TWikiRegistration screen on one of my sites. I got bitten by this too!
Go to
http://svn.twiki.org/svn/twiki/branches/DEVELOP/data/TWiki/TWikiRegistration.txt
and scroll down to the last few lines of the form. There you will see
</tr><tr>
<td valign="top" align="right">
<input type="hidden" name="topic" value="%TOPIC%" />
<input type="hidden" name="action" value="register" />
</td>
<td>
<input type="submit" value=" Submit " /> (Fields marked =<Font color="red">**</font>= are required)
</td>
</tr>
</table>
</form>
It is the
<input type="hidden" name="action"
value="register" />
which is the important thing.
--
AntonAylward - 09 Mar 2005
I've updated the registration form page (pub version). Still more errors:
- Using the top form (without password) (Why are there 2 forms on this page ???), I get the error as above
- Using the bottom form (with password), I get the feedback page, the confirmation email, the feedback page. All OK, except that the user is added at the bottom of the TWikiUsers page, and I can't login! The entry in .htpasswd is created (except with a login name and not a wikiname, which I don't understand), but I just cannot login. Trying both ArthurClemens and aclemens, I get these errors in the log:
[Thu Mar 10 15:47:48 2005] [error] [client 194.109.230.189] user ArthurClemens not found: /devtwiki/bin/edit/Main/ArthurClemens
[Thu Mar 10 15:48:13 2005] [error] [client 194.109.230.189] user aclemens: authentication failure for "/devtwiki/bin/edit/Main/ArthurClemens": password mismatch
--
ArthurClemens - 10 Mar 2005
I'm looking at
http://svn.twiki.org/svn/twiki/branches/DEVELOP/data/TWiki/TWikiRegistration.txt
and I only see one form.
I look at the Pub version and yes I see two forms. It looks to me like a copy-edit duplication. There in the middle is a
%META:TOPICINFO{author="martincleaver" date="1099601309" format="1.0" version="1.10"}%
That shouldn't be there! Or rather the stuff above it shouldn't.
Arthur, check as well, go in at the command line, is there a file
"Main/ArthurClemens" ? I may be an old command line UNIX hacker at heart, but tis an easy way to check for a lot of things. Its one reason I like TWiki, it doens't hide stuff in some
SQL database!
I don't fully understand the interplay of
WikiName and
LoginName that Martin has come up with.
Sorry I can't help more.
--
AntonAylward - 11 Mar 2005
Hi Arthur, thanks for the error report. I Committed revision 3779 which eliminates the first form.
The
LoginName/WikiName separation is a feature of
RegisterCgiScriptRewrite: it means that the name you log in with can be an arbitrary string instead of a
WikiName. e.g. mrjcleaver or an email address. A side effect is that you can rename a
WikiName without needing to change the password file in the events that users register with an inappropriate
WikiName.
That all said, it should allow you to log in and should insert the record into the correct place into the TWikiUsers file.
I'll investigate the registration errors you list in (2); please bare with me, I have a full load at the moment.
--
MartinCleaver - 11 Mar 2005
At revision 3814, I get this error:
[Tue Mar 15 14:44:16 2005] [error] [client 194.109.230.189] user arthurclemens: authentication failure for "/devtwiki/bin/edit/Main/ArthurClemens": password mismatch
egrep: Invalid content of \{\}
--
ArthurClemens - 15 Mar 2005
Fix record
Discussion