Last modified: 2013-11-16 12:32:23 UTC
Allow existing users to log in with their name/password, but force new users to create an account using OpenID. Setting $wgOpenIDLoginOnly = false still allows account creation without OpenID, but setting $wgGroupPermissions['*']['createaccount'] = false (prevents users creating accounts) stops new users from creating new IDs.
originally proposed in https://www.mediawiki.org/wiki/Extension_talk:OpenID#Existing_account_login_.2B_OpenID_account_creation_30279 . Proposal may be difficult to implement, or even impossible. An according info or warning can only be shown during the account creation phase. So standard links - "login / create an account" and - "login / create an account with OpenID" must be changed to something like - "login with username/password (old users)" and - "login with OpenID (new users) / create an account with OpenID". i.e. the only required changes for the present case are - password-based account creation must be disabled - choose correct message text for password-based login link (with "create account"
This feature was working in earlier versions (of Mediawiki or the extension). We altered the loginprompt message to: <span style="background:lightgreen;">Please use the OpenID link to register a new account:</span> <span class="plainlinks OpenID">[http://wiki.sugarlabs.org/index.php?title=Special:OpenIDLogin&returnto=Special:UserLogin OpenID]</span> You must have cookies enabled to log in to {{SITENAME}}. So, with $wgGroupPermissions['*']['createaccount'] = false , the standard links are - Log in - Log in / create account with OpenID OpenID users seemed to recognize their link or found it with no complaints.
I am working on it.
@Ryan, Chris, other reporters: THIS is what you wanted. My invitation to code-review: https://gerrit.wikimedia.org/r/#/c/94977/ Code is live on http://openid-wiki.instance-proxy.wmflabs.org/wiki/ . Special:Version should show you "4.00 20131115" Please test. Please code-review. @amelia.....: THIS BUG 51331 is not fully solved by that commit, as it requires additional logic to decided between "old" users and "recent" users. My commit howver prepares this step by introcuding more fine-grained openid-user rights, which then can be the base for implementing exactly what you proposed.