rfc:global_login

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
rfc:global_login [2022/05/27 16:20] aaron-junkerrfc:global_login [2022/06/25 15:55] (current) aaronjunker
Line 1: Line 1:
 ====== PHP RFC: Create a global login system for php.net ====== ====== PHP RFC: Create a global login system for php.net ======
-  * Version: 0.0+  * Version: 1.1
   * Date: 2022-05-23    * Date: 2022-05-23 
-  * Author: Aaron Junker, Aaron.junker@outlook.com  +  * Author: Aaron Junker, [[mailto:aaronjunker@php.net|aaronjunker@php.net]] 
-  * Status: Draft +  * Status: Declined
   * First Published at: http://wiki.php.net/rfc/global_login    * First Published at: http://wiki.php.net/rfc/global_login 
 +  * Possible developer: Aaron Junker, [[mailto:aaronjunker@php.net|aaronjunker@php.net]]
 +  * Discussion thread: https://externals.io/message/117816
  
 ===== Introduction ===== ===== Introduction =====
-Currently there are diffrent login systems all over php.net:+Currently there are different login systems all over php.net:
  
-  * wiki.php.net uses wiki intern login or login over VCS account+  * wiki.php.net uses wiki intern login and login over VCS account
   * pecl.php.net uses an own login system   * pecl.php.net uses an own login system
-  * bugs.php.net uses own login system or login over VCS account+  * pear.php.net uses an own login system 
 +  * bugs.php.net uses own login system to report security bugs and login over VCS account
   * Mailing lists are using own tracking system   * Mailing lists are using own tracking system
-  * edit.php.net allows login over several platforms (also GitHub),VCS and anonym login+  * edit.php.net allows login over several platforms (also GitHub), VCS and anonymous login
   * php.net user contribution notes uses no login   * php.net user contribution notes uses no login
   * php.net preferences use cookies to save preferences.   * php.net preferences use cookies to save preferences.
   * GitHub php source code uses GitHub login   * GitHub php source code uses GitHub login
  
-Currently there is a login system called VCS ac count which generate a @php.net mail, but you need to request it and the normal user is not able to get one.+Currently there is a login system called VCS accounts which generate a @php.net mail, but you need to request it and the normal user is not able to get one, so it does not fit for a global login. 
 + 
 +There are two proposed ideas in this direction: [[ideas:phplogin|A New Proposal for a global php.net Login System Using OAuth 2]] and [[ideas:phpnetauth|PHP Authentication System]].
  
 ===== Proposal ===== ===== Proposal =====
  
 This RFC proposes different scenarios for creating a global php.net login experience. This RFC proposes different scenarios for creating a global php.net login experience.
 +
 +A global login would allow a better moderation of users across all sites of php.net.
  
 ==== 1.1 Global login system ==== ==== 1.1 Global login system ====
  
-Add a global system all over php.net that allows you to login with one account over all pages. This will add a login button to the general PHP design.+Add a global system all over php.net that allows you to login with one account over all pages. This will add a login and register button to the general PHP design
 + 
 +main.php.net will be restructured to be used by general users and not just VCS account users.
  
 ==== 1.2 Type of global login system ==== ==== 1.2 Type of global login system ====
  
-There are 3 proposed cases of how we could create a global login system:+There are 3 proposed cases of how people would be able to log in
  
-=== Use oAuth from GitHub ===+=== Use only oAuth from GitHub ===
  
 Use GitHub to log into php.net. GitHub is used for development of PHP and so on every developer of PHP has one.  Use GitHub to log into php.net. GitHub is used for development of PHP and so on every developer of PHP has one. 
  
-=== Use another identity provider ===+=== Only use own system ===
  
-Use a identity pro+Advantages: Full control over users and their data.
  
-Disadvantage+DisadvantagesResources needed to create such a system, that we currently don't have. 
 + 
 +=== Mixed login === 
 + 
 +Allow both of the two proposed ideas. 
 + 
 +==== 1.3 VCS accounts ==== 
 + 
 +You will be able to connect your existing VCS account to the new php.net account and use the same features as before. VCS account request will be connected to the php.net login. 
 + 
 +GitHub accounts connected to VCS accounts will be ported over to the new account system (unless in 1.2 option 2 is selected). 
 + 
 +==== 2.1 my php.net user preferences ==== 
 + 
 +My php.net user preferences are currently saved in cookies. This would allow associating these settings with your php.net account. 
 + 
 +==== 2.2 www.php.net user contributed notes ==== 
 + 
 +Currently you can give more or less anonym contribution notes on docs pages (entering a mail adress is voluntary). A global login system would help reducing spam comments and directly adressing users that wiolate the rules. 
 + 
 +==== 3.1 bugs.php.net login ==== 
 + 
 +bugs.php.net is currently only used for reporting security bugs. A integration with the php.net login system would be questionable, but still possible.  
 + 
 +If voted "yes" on this one bugs.php.net could allow login only from people with connected VCS account. 
 + 
 +==== 4.1 edit.php.net login ==== 
 + 
 +edit.php.net allows log in with different platforms as well as anonymous and VCS login. When voted "yes" this would only allow login with the new php.net account (and also anonymous login when voted "Yes, but still allow anonymous login"). 
 + 
 +Against this change speaks that edit.php.net is currently not really usable as it still hasn't migrated to the new git repositories.  
 + 
 +==== 5.1 pecl.php.net and pear.php.net login ==== 
 + 
 +pecl.php.net and pear.php.net are using their own account systems. This would integrate both of these systems into the new php.net account system. 
 + 
 +==== 6.1 people.php.net ==== 
 + 
 +people.php.net will keep showing only people with a VCS account attached to their php.net accounts. Aditionally it will no longer show the karma from git.php.net and svn.php.net, but in which PHP repositorys on GitHub this user participated. 
 + 
 +==== 7.1 wiki.php.net ==== 
 + 
 +wiki.php.net runs on Dokuwiki, a software that can be extended by plugins. The idea here is to create an own plugin that redirects from and to the PHP account service. 
 + 
 +main.php.net will provide a feature to transfer the rights you had with your old wiki account to your new php.net account.
  
 ===== Proposed Voting Choices ===== ===== Proposed Voting Choices =====
 +
 +A 2/3 majority is needed for thir RFC to pass. Voting started 11. June 2022 and ends 25. June 2022
  
 ==== 1.1 Global login system ==== ==== 1.1 Global login system ====
Line 48: Line 103:
 Do you want a global login system on php.net?  Do you want a global login system on php.net? 
  
-If you vote "no" please vote on the other votings like the result would be "yes", because when this vosting results in "no" all other votings in this RFC get nulled.+If you vote "no" please vote on the other votings like the result would be "yes", because when this vosting results in "no" all other votings in this RFC will be not of matter.
  
 <doodle title="1.1 Global login system" auth="aaron-junker" voteType="single" closed="true"> <doodle title="1.1 Global login system" auth="aaron-junker" voteType="single" closed="true">
Line 57: Line 112:
 ==== 1.2 Type of global login system ==== ==== 1.2 Type of global login system ====
  
-What type of global login system do you want?+What type of login system do you want?
  
 <doodle title="1.2 Type of global login system" auth="aaron-junker" voteType="single" closed="true"> <doodle title="1.2 Type of global login system" auth="aaron-junker" voteType="single" closed="true">
    * Use oAuth provider GitHub    * Use oAuth provider GitHub
-   * Use another login system provider 
    * Use own system (hosted on php.net)    * Use own system (hosted on php.net)
 +   * Use both
 </doodle> </doodle>
  
 ==== 1.3 VCS accounts ==== ==== 1.3 VCS accounts ====
  
-What scenario do you want for the VCS accounts? +Nothing to vote on.
- +
-<doodle title="1.3 VCS accounts" auth="aaron-junker" voteType="single" closed="true"> +
-   * Fully integrate VCS account system under GitHub account +
-   * Still allow registering VCS accounts, but allow no log in +
-   * Allow log in with VCS account everywhere beside other global log in +
-   * Completly discard VCS login +
-</doodle> +
- +
-==== 1.4 Login platform ==== +
- +
-+
- +
-<doodle title="1.4 Login platform" auth="aaron-junker" voteType="single" closed="true"> +
-   * Sing in on the applications themselfes +
-   * Own log in platform +
-</doodle> +
- +
- +
-==== 2.1 www.php.net user preferences ====+
  
 +==== 2.1 my www.php.net user preferences ====
  
 +Do you want the new login system to be integrated into my php.net user preferences?
  
 <doodle title="2.1 www.php.net use preferences" auth="aaron-junker" voteType="single" closed="true"> <doodle title="2.1 www.php.net use preferences" auth="aaron-junker" voteType="single" closed="true">
-   * Yes, only with account +   * Yes, only allow setting settings with account 
-   * Yes, but still allow the old system with saving in cookies+   * Yes, but still allow the old system with saving settings in cookies
    * No    * No
 </doodle> </doodle>
  
-==== 2.2 www.php.net user contribution notes ==== +==== 2.2 www.php.net user contributed notes ====
  
 +Do you want the new login system to be integrated into www.php.net contributed notes?
  
-<doodle title="2.2 www.php.net user contribution notes" auth="aaron-junker" voteType="single" closed="true"> +<doodle title="2.2 www.php.net user contributed notes" auth="aaron-junker" voteType="single" closed="true"> 
-   * Yes, only with account+   * Yes, only allow setting notes with account
    * Yes, but still allow the old system    * Yes, but still allow the old system
    * No    * No
Line 108: Line 146:
 ==== 3.1 bugs.php.net login ==== ==== 3.1 bugs.php.net login ====
  
 +Do you want the new login system to be integrated into bugs.php.net?
  
 <doodle title="3.1 bugs.php.net login" auth="aaron-junker" voteType="single" closed="true"> <doodle title="3.1 bugs.php.net login" auth="aaron-junker" voteType="single" closed="true">
-   * Yes, allow only logged in bug reports +   * Yes
-   * Yes, but only for php contributors+
    * No    * No
 </doodle> </doodle>
Line 118: Line 155:
 ==== 4.1 edit.php.net login ==== ==== 4.1 edit.php.net login ====
  
 +Do you want the new login system to be integrated into edit.php.net?
  
- +<doodle title="4.1 edit.php.net login" auth="aaron-junker" voteType="single"  closed="true"> 
-<doodle title="4.1 edit.php.net login" auth="aaron-junker" voteType="single" closed="true"> +   Yes 
-   Only allow GitHub login +   Yes, but still allow anonymous login 
-   Only allow GitHub and anonymous login +   * Keep old login system completely
-   * Old login system, but without anonym login +
-   * Keep old login system+
 </doodle> </doodle>
  
-==== 5.1 pecl.php.net login ==== +==== 5.1 pecl.php.net login and pear.php.net login ====
  
 +Do you want the new login system to be integrated into pecl.php.net and pear.php.net?
  
-<doodle title="5.1 pecl.php.net login" auth="aaron-junker" voteType="single" closed="true">+<doodle title="5.1 pecl.php.net login and pear.php.net login" auth="aaron-junker" voteType="single"  closed="true">
    * Yes    * Yes
    * No    * No
Line 142: Line 178:
 ==== 7.1 wiki.php.net ==== ==== 7.1 wiki.php.net ====
  
 +Do you want the new login system to be integrated into wiki.php.net?
  
 <doodle title="7.1 wiki.php.net" auth="aaron-junker" voteType="single" closed="true"> <doodle title="7.1 wiki.php.net" auth="aaron-junker" voteType="single" closed="true">
Line 149: Line 185:
    * No    * No
 </doodle> </doodle>
- 
-===== Patches and Tests ===== 
- 
-===== Implementation ===== 
-After the project is implemented, this section should contain  
-  - the version(s) it was merged into 
-  - a link to the git commit(s) 
-  - a link to the PHP manual entry for the feature 
-  - a link to the language specification section (if any) 
  
 ===== References ===== ===== References =====
Line 163: Line 190:
 Make a GitHub oauth app: [[https://docs.github.com/en/developers/apps/building-oauth-apps|GitHub Docs]] Make a GitHub oauth app: [[https://docs.github.com/en/developers/apps/building-oauth-apps|GitHub Docs]]
  
 +Discussion on mailing list: https://externals.io/message/117816
  
rfc/global_login.1653668437.txt.gz · Last modified: 2022/05/27 16:20 by aaron-junker