====== PHP RFC: Create a global login system for php.net ====== * Version: 1.1 * Date: 2022-05-23 * Author: Aaron Junker, [[mailto:aaronjunker@php.net|aaronjunker@php.net]] * Status: Declined * 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 ===== Currently there are different login systems all over php.net: * wiki.php.net uses wiki intern login and login over VCS account * pecl.php.net uses an own login system * 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 * edit.php.net allows login over several platforms (also GitHub), VCS and anonymous login * php.net user contribution notes uses no login * php.net preferences use cookies to save preferences. * GitHub php source code uses GitHub login 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 ===== 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 ==== 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 ==== There are 3 proposed cases of how people would be able to log in === 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. === Only use own system === Advantages: Full control over users and their data. Disadvantages: Resources 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 ===== 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 ==== 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 will be not of matter. * Yes * No ==== 1.2 Type of global login system ==== What type of login system do you want? * Use oAuth provider GitHub * Use own system (hosted on php.net) * Use both ==== 1.3 VCS accounts ==== Nothing to vote on. ==== 2.1 my www.php.net user preferences ==== Do you want the new login system to be integrated into my php.net user preferences? * Yes, only allow setting settings with account * Yes, but still allow the old system with saving settings in cookies * No ==== 2.2 www.php.net user contributed notes ==== Do you want the new login system to be integrated into www.php.net contributed notes? * Yes, only allow setting notes with account * Yes, but still allow the old system * No ==== 3.1 bugs.php.net login ==== Do you want the new login system to be integrated into bugs.php.net? * Yes * No ==== 4.1 edit.php.net login ==== Do you want the new login system to be integrated into edit.php.net? * Yes * Yes, but still allow anonymous login * Keep old login system completely ==== 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? * Yes * No ==== 6.1 people.php.net ==== Nothing to vote on. ==== 7.1 wiki.php.net ==== Do you want the new login system to be integrated into wiki.php.net? * Yes, fully migrate * Yes, but still allow old login system * No ===== References ===== 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