Ask HN: What type of Auth are you using on your side projects?

by honksilleton 10/5/2024, 4:29 PMwith 70 comments

I was looking at the Supabase docs and it was nice to see a long list of Auth work flows supported/documented. So my question is, here in October 2024, what are y'all using for Auth on your side projects. Password based, social, email, something else? If you are using social, which social do you support? Is there any public data on which types of Auth have the best conversion/bounce rates? And for you, which Auth is just easy to support long term and which just ends up being a drag? TY

by grepfru_iton 10/5/2024, 9:04 PM

Keycloak or auth0. The app should support oauth2, if it does not it gets traefik-forward-auth (or whatever it’s called) to enforce mfa then you are in.

There are tons of open source projects to complete the self service experience, from sign up systems to self service password resets

by digganon 10/5/2024, 7:32 PM

This is the absolutely simplest of authentication (not authorization) schemes I've used that is both easy for people to use and prevents the simplest of spam/robots:

- Be able to store two types of tokens, one that is temporary, and one that is "permanent"

- Users can use their email address to get sent a temporary token (which expires if unused after X minutes)

- Users can click that link to change the temporary token for a "permanent" token they (the frontend) can use for authentication

- Clicking "Logout" invalidates the currently used "permanent" token

Biggest issue is making sure that whatever email provider you use for the "Login Emails" consistently sends emails quickly, as there is nothing worse but sitting for 2-3 minutes waiting for a login email because the provider batches sends or something.

This would specifically be for side projects. If it grows beyond that, you really should implement something with proper rotation and more, but there are tons of resources about that out there.

by codingclawson 10/5/2024, 9:34 PM

I develop an internet forum [0] that uses express-session with a Redis datastore for standard username and password website login. Separately, it also has a JSON API that uses OAuth 2 auth code flow with PKCE [1].

[0] https://github.com/ferg1e/comment-castles

[1] https://www.commentcastles.org/api#api-user-authentication

by notamyon 10/5/2024, 10:31 PM

I’ve been using https://clerk.com. Not needing to build authentication / the UI / … as well as not worrying about hosting it myself has been nice.

by mastoon 10/5/2024, 7:10 PM

I've been in big tech and out of touch with the real world for a while, and I started a project only a couple of weeks ago to get a feel for what the cool kids are doing in web dev in 2024. So I can't claim any deep authority or experience with a lot of different approaches. But I picked Clerk because it was in a tutorial, and so far so good. It couldn't have been much easier, and the free tier seems more than generous enough to get through the prototype stage.

My main concern is that I don't want to weld too much of my design to any one service provider, so I've got to be careful about taking too much advantage of their feature set and API so that it won't be a pain if they go away or it becomes necessary to migrate to something else.

by xenaon 10/5/2024, 6:52 PM

A lot of my side projects are only visible over a VPN. I have no auth for them as it is not needed.

by fragmedeon 10/5/2024, 7:14 PM

Amazon Cognito. If I ever scale past a handful of users and it starts costing money I'll revisit but for a side project? Auth is the least interesting part and I just want it to work securely with no fuss.

by dangprivalphaon 10/5/2024, 7:20 PM

None, because my projects never make it as far as launching.

by koliberon 10/5/2024, 7:28 PM

In my latest side project I am allowing people to start using the tool without signing up. You can see it working on sandbox.wasitsent.com.

I am using Django’s user system. When a user comes and wants to use the app, I create a Django user and mark it as auto-created. Later, when they decide to sign up, I fill the details and I mark it as auto-created.

Using password auth for now. Will migrate to auth0 if enterprise customers knock on the door and want SAML.

by dizhnon 10/5/2024, 9:00 PM

I first install and configured Authentik with totp then found a million things I can integrate it into because it basically supports everything.

by tommiegannerton 10/6/2024, 9:53 AM

I use Traefik with OpenID Connect for everything, and Google as IdP. It's few enough people that I simply add them manually to traefik-forward-auth's settings in Docker Compose.

https://github.com/thomseddon/traefik-forward-auth

by j45on 10/5/2024, 9:17 PM

Appwrite, all in one, and it shockingly just works from install to go focus on building the side projects.

Cheap/ free to self host. I have tried a bunch of the other ones and they all had things I liked but Appwrite gave me nothing to complain about other than getting on with building :)

by WhatsNameon 10/5/2024, 7:06 PM

Django allauth, 10 years later still a no-brainer.

For selfhosting Authentik + Traefik forward auth is a unbeatable combo

by ukuinaon 10/5/2024, 7:46 PM

I delegate to Puter for https://hackyournews.com

HN post: https://news.ycombinator.com/item?id=41738273

by freetonikon 10/5/2024, 8:01 PM

Email+password, jwt tokens. Nothing fancy.

by ldenoueon 10/5/2024, 6:33 PM

I use firebase auth with Google, Facebook and email (magic link)

This is live at https://screenrun.app/

by naveen99on 10/6/2024, 5:29 AM

No login required.

Just some ip based rate limits.

Ban misbehaved bot ip addresses.

https://hn.garglet.com (advanced search for hacker news)

by infogulchon 10/5/2024, 7:04 PM

I was thinking Kanidm [1] for authentication and SpciceDB [2] for authorization would be a good combo, but I haven't gotten around to trying it yet.

[1]: https://kanidm.com/

[2]: https://authzed.com/docs/spicedb/getting-started/discovering...

by sandreason 10/5/2024, 5:10 PM

Social auth almost always means oauth (2.0). It's good to have this, because you could technically Deploy your own oauth provider.

However, for my smaller personal side projects I rely on a simple JWT auth based on JWT, QR-codes and https-only AS secure AS possible cookies.

I plan to try openid but i did not habe the time yet.

If you have a userbase, a local username/password login should be at least an Option...

by SLKerriganon 10/5/2024, 10:40 PM

Selfhosted https://goauthentik.io/

by JanisErdmanison 10/5/2024, 7:14 PM

For admin panels, I use SSH port forwarding, as no additional configuration is needed for that. For users, I use email invite codes that contain the hash of the server’s public key and are pasted into a stand-alone client. That way, I don't need to maintain TLS certificates.

by random_savvon 10/5/2024, 7:08 PM

We use Keycloak

by skeptruneon 10/7/2024, 2:23 AM

Keycloak OIDC. Cannot go wrong doing this. Enterprise tested, easy to custom style, well documented hosting story, and no lock-in.

by bearjawson 10/5/2024, 7:37 PM

Supabase has very easy to setup auth while scaling beyond auth. You can use it standalone without issue.

by djaouenon 10/5/2024, 7:42 PM

Phoenix Auth

by antonpirkeron 10/5/2024, 6:58 PM

None or username/pwd

by shortrounddev2on 10/5/2024, 9:28 PM

I used to use Facebook because it's really easy to work with

by vdelitzon 10/9/2024, 3:56 PM

clearly biased: https://corbado.com

by gedyon 10/5/2024, 6:48 PM

Auth0 and FusionAuth

by chgson 10/5/2024, 7:02 PM

X509 certs. They work nicely in an offline situation.

by dylanzhangdevon 10/7/2024, 2:34 AM

i use lucia in svelte.

https://lucia-auth.com/

by impureon 10/5/2024, 11:15 PM

Google, Apple, and Email using PocketBase.

by John23832on 10/5/2024, 6:57 PM

Supabase

by marginalia_nuon 10/5/2024, 7:15 PM

I make it a point not to have public user accounts for my stuff because it's such a liability.

For admin, I use HTTP basic auth like the boomer I strive to be.

by thot_experimenton 10/5/2024, 8:29 PM

None. Users should handle their own data.

by purple-leafyon 10/5/2024, 8:17 PM

Firebase

by pdycon 10/6/2024, 6:50 AM

no auth at all

by mjomaaon 10/5/2024, 7:06 PM

Auth.js!

Supported providers: https://authjs.dev/getting-started/providers/github

It's been really great so far and I can recommend it if you have a JS/TS codebase.

----------------------------

You can test Auth.js (v5 beta.22) in my Next.js 15 boilerplate:

https://achromatic.dev

• Credentials auth

• Google and Microsoft login

• Connected accounts

• Multi-factor authentication (via authenticator app)

• Session management