Can somebody please tell me how lemmy implements auth? If I sign-up to an instance, who manages the login credentials for my account to validate login attempts? If it's with the instance manager, am I at the mercy of the instance to keep my login credentials safe? What about when logging in with 3rd party apps like voyager or alexandrite, are my login credentials passed to those 3rd party apps in clear text to validate with the instance that hosts my account.
Ideally, I would want the auth to be handled by one centralized authority that I can trust to keep my credentials safe, instead of trusting instance managers or 3rd party apps not only to store my credentials but to validate auth as well. Is that something that can be implemented for each ActivityPub software? As in auth for all instances of lemmy is handled by lemmy, mastodon by mastodon, misskey by misskey, etc.
E: I'm talking about user authentication, in case that wasn't clear.
E2: This discussion would be more suited on each software's development platform. But I will leave it here to get other people's perspectives.
6 Comments
Dave@lemmy.nz · 10 pts · 1y
There is currently no OAuth, which sounds like what you're asking for.
Currently you need to trust the app and your instance. Most instances are implementing off-the-shelf lemmy but there is no way to confirm that.
Lemmy apps could steal your password if they wanted to, but if you use an open source app through say F-droid that compiles the apps from source, you can check the code if you have that skillset.
Ultimately the answer here though is not to trust your instance or app, but to instead not need to. Your account should be treated as disposable and (like every other site) you should be using a unique password not used anywhere else.
This way it doesn't matter if your instance steals your password, since they already know everything you've given them. Lemmy is all public anyway so there isn't much risk involved.
I'd argue the biggest risk is if your instance requires email validation, and it's easy enough to use a relay email (Firefox Relay, Simplelogin, Addy.io, etc) so that's unique as well.
zedage@lemm.ee · 2 pts · 1y
Yes that is what I wanted to know. My question was more directed towards other fedi software where you might want to secure/recover your account instead of using completely disposable accounts. So providing an e-mail address to an instance manager is what I was worried about, in case the instance manager decides to doxx their user. It's just a possibility that needs to be taken into account when signing up on the fediverse, which is not what most people are used to.
Honestly didn't think about relay addresses which is a handy tip. But I asked because I wanted to use the alexandrite front end on my desktop browser and was wondering how safe it is to hand over my login credentials to lemmy skins. Since those are hosted on closed source servers, you can't really verify what's happening on the server side and how safe it is to hand over your login credentials to them if you're not using a disposable account and a unique password.
Dave@lemmy.nz · 3 pts · 1y
Whoever is running the Alexandrite frontend you are accessing definitely could modify it to steal your password, so it's another point of trust. To help reduce this risk, many instances will run their own Alexandrite (and other third party frontends). With a quick search I didn't find lemm.ee hosting any though.
I believe OAuth support is planned for Lemmy but not sure on the timeline or the exact implementation.
On the relay emails, I believe some instances block their use, but the benefit of having many instances is you can find one that aligns to your values.
sexy_peach@feddit.org · 5 pts · 1y
Uuh why?
zedage@lemm.ee · 2 pts · 1y
There's a whole multitude of resons that could be argued for both approaches. I prefer this option because:
Why would you not want to trust the developers of each fedi software to hold this information, instead of trusting every instance manager to hold this instead? IMO that is a more vulnerable design choice instead of having a central authority managing user authentication, unless I am missing something?
I suppose this discussion is more suited on each software's github instead of a place to discuss this instance in particular, I didn't know how each software implements user authentication so I posted here.
E: I can now see why you are alarmed by my question. That is actually a good point. I am not sure if user authentication being handled by a central authority would violate principles of decentralization, which emphasize on interoperability and freedom of movement between different software and instances, instead of implementation of one component. I'm not sure if the management of authentication needs to be decentralized in the fediverse, as decentralization of freedom of movement itself is sufficient to prevent undesirable software implementations. I'd argue that managing authentication by instance managers is still a concentration of authority, albeit it is less centralized than a single source of truth. But I would love to hear arguments for why managing authentication by a single source is dangerous.
0_o7@lemmy.dbzer0.com · 4 pts · 1y
host your own instance and be your own authority.
bad_news@lemmy.billiam.net · 1 pts · 1y