| 1 | ||
| 1 | ||
| 1 | ||
| 1 | ||
| 1 |
It is now possible to sign up using Github. I added Github first for the following reasons.
That said, I do want to add more sign-in options. And they probably should cater more to the alternative web. But also broad accessibility. So I should likely target options down both lanes.
Which additional sign-ins should I add first:
![]() | ![]() |
|---|
For those worried about "too much" corporate integration and privacy. Sign-in with OAuth does not give a corporation knowledge of your account or any details here. Facebook/Google is not going to be able to spy on you in any way enhanced beyond their general public scraping. It just gives people who don't want to come up with a password a one click way to get in.
Also, if you already signed up with a password but would like to use github you can bind your github by following this link.
Of course spotting bugs and giving suggestions is welcome and encouraged.
Thank you for this. It makes it easier to log in. I remember when I forgot my password twice.
Yeah that's why I'm new jiminy
Woah, cool. I didn't realize how much the demand was and that it would get immediate use. I should have done it sooner.
What are the pros and cons?
How does OAuth relate to the list?
I'll prefer to avoid the convenience trap of using Google/Facebook logins if I can help it - but understand how it could help some - including my WEFreedom folks.
HumHub setup had a bunch of free addons for such login stuff. I added them, but there were more hoops to jump through to make each thing work.
In terms of pros and cons and where the convenience trap is:
If you use OAuth for everything, now whichever identity provider you use could shut you off of everything. If you already setup with a password, that can't happen here because you would also have the password route in. Same with anything else where you've signed in both ways.
The second downside is depending on who is running the client end, they could opt to exchange more data. Though technically they can do that without OAuth. Emailing Google a copy of their database would be an odd thing for a site to do. But technically they can do it with zero OAuth involved. What data comes the other way can monitored when you agree to a new OAuth because the provider's page should be telling you what info the client end is requesting. The issue is two fold. One is who looks at that? So someone could request to access a lot and you might miss it. That's similar to the problem with Android apps that request all the permissions. People can always say no. But do people say no? And two, while I'm requesting the absolute minimum from github, I do end up getting github user id (not name the way I'm accessing it and storing it). But even at the minimum permission level the request to get the user id actually comes back with a lot more than I need. I can research what's in it if you want. I didn't even look. I can comment here tomorrow with that if you want.
That last one is why I'm tempted to turn submatrix into an Oauth provider itself, where the returned user identifier depends on both the user and the app requesting it. And no other data is given. This gives them an id that can't be used to identify them in any other system. The only thing the client side needs really is knowledge the they are a distinct person. That's it. That would make submatrix a wrapper. You could sign into submatrix with anything. And then sign into anything else with submatrix (if I can market it), and share less data than even the default minimum.
So long story short. The downsides of OAuth is that you are trusting the bigger corp to not lock you out of your smaller site accounts. And you are trusting the smaller sites with a bit of privacy, though not a ton. This is in contrast to trusting smaller sites to hash passwords correctly. And it seems to be major companies that fail at that more than anyone else anyway.
Maybe I'll get that bitcoin signature sign in running again and you won't have to trust either. I probably could do something similar with pgp as well.
Thanks for the overview. No further researching required.
Perhaps explain the bitcoin signature?
Any chance it could be used to tip/trade/exchange/buy (but not as "an exchange")?
That would be rad.
And could indeed be marketable.
Once accomplished, is there any way they could later deny you if they want to lock out freedom folks? Or trolls/abusers?
Well, it probably wouldn't be great now. The problem is how bitcoin wallets work now. I coded it when Bitcoin was new. Everyone thought they would be using the same address for everything and your address could be an identifier. Ethereum stuck to that route a little bit better.
One thing you could do with your bitcoin address was sign arbitrary strings. That would prove you have the private key for it. What's cool about bitcoin signatures over PGP is your signature + the signed text + algorithm generates your address. Only you could create the signature that would generate your address. This means you don't even need to transfer a public key to the place you want to sign into. You just sign the phrase with the same address every time and the server will see it generate a consistent string when decoded.
We had security solved in 2017. But this was before password managers were common and no one was going to use a second application to sign into something.
IDK. Maybe I'd distribute a bitcoin non-wallet just to store a single bitcoin address and sign with it. It's not a bad idea.
Other cool parts of signing in this way. There is no password the server side could mismanage. There are no 3rd party / corporate companies to certify you exist. You could use the same key on every site and not worry about a site leaking credentials. Ideally the server still hashes your address like it was a password because a leak from multiple sites could correlate your account if they fail to do that, but it would not leak sign-in credentials.
Fuck it. I'm doing it.
Update: I made the desktop application for it. https://submatrix.net/c/MatrixDev/A3oQT2EJH7