GitHub does this now. you cannot push with your normal password, only a Personal Access Token. I am fine with this, but perhaps the process of setting and getting the token could be streamlined. Currently, you have to:
1. click profile
2. click settings
3. click developer settings (the last item of 24 items)
4. click personal access tokens (again the last item in the list)
5. click tokens classic (again the last item)
6. click generate new token
7. click generate new token (classic)
8. enter password
9. click confirm
10. enter note
11. choose expiration
12. choose scope
13. click generate token
thats just way, way too many steps for the average user.