Passkeys would be a UX with less friction than OAuth. Both could be used, but if choosing one, I’d go with passkeys.
I did a passkey implementation in Flask recently, it was pretty good.
Even so I’m not real sure if passkeys make all that “log in with
existing account
” stuff obsolete or what…
“Log in with Mastodon” could be cool. I don’t feel the need to have Google associated with anything in any way, even if very minor.
As much as I dislike Google, that option would definitely help wider adoption
Can you elaborate?
I’m not sure there’s much to elaborate on, sorry. I just don’t like Google’s dominance online, and I consider anything that contributes to it to be a bad thing.
It’s purely value based, I’m sure the functionality would be useful for some.
@rimu SSO with LDAP support would be great so installing with other fedi apps you can all use one login. Also maybe keycloak
I would rather have a login which is compatible with many providers so rather a specific protocol like one of OpenID Connect, OAuth 2.0, and/or SAML.
OAuth support would be great as it would allow existing Mastodon communities launch a piefed for their members!
Did anyone of us ever evaluate the available Python/Flask libraries for OAuth2/OIDC? Or have some experience with specific ones?
I’ve had a look at this and our available options. I’m leaning towards either Flask-Multipass of Flask-Security. I think that’d solve all our problems with one (admittedly fairly extensive) blow.
Of course neither of the two include all the options, one seems to lack WebAuthN(Passkeys) and I can’t find LDAP in the other one. Both methods have been requested… But that’s not the main concern as I mainly prefer a relatively clean and maintainable solution over features.
And Flask-Security looks like a much more integrated solution. Which is nice, but we might end up needing more flexibility for the Fediverse stuff, so I’m not sure if we can make use of this. It’ll want to handle stuff like roles, sending confirmation mails, etc which we currently have our own code to deal with. On the other hand, if it’s a clean way to abstract things away…
For “Log in with Google” (OAuth) I’ve used flask-dance https://github.com/singingwolfboy/flask-dance & https://flask-dance.readthedocs.io/en/latest/ on one of my apps for years. It’s been fine and I could easily port it over to PieFed.