Remix.run Logo
From Supabase to Clerk to Better Auth(blog.val.town)
69 points by stevekrouse 2 hours ago | 21 comments
snide a minute ago | parent | next [-]

This is why I'm so thankful I went with Lucia early. They sort of sunset their library and replaced it with documentation (and some small utilities) for how to manage and host authentication for yourself. It's always presented as some big, scary thing you can't manage yourself, but I found that taking the week to learn how security and basic salting works, I was able to feel more confident about how everything worked.

bekacru 12 minutes ago | parent | prev | next [-]

Hey, Bereket from Better Auth here. I started Better Auth to solve this exact issue for myself, and it later turned into a company. It always give me joy to just see others getting the same value from it :) There is a lot to work on, would love to know what we can improve

rbbydotdev 9 minutes ago | parent [-]

Do you think the complexity of auth in the browser, is because browsers don't do enough?

WilcoKruijer 3 minutes ago | parent | prev | next [-]

You could almost call the comparison between Clerk and Better Auth unfair. One is a service and one is a library, apples to oranges. Any third-party service integrated into a stack is a liability, libraries as well, but to a lesser degree. It’s about time for more services to be replaced by libraries. Better Auth really shows how to do that imo, it’s a library that integrates on the frontend, backend, and database. This is why it’s so good.

wxw 36 minutes ago | parent | prev | next [-]

I enjoyed the Supabase migration article from a while ago (https://blog.val.town/blog/migrating-from-supabase) as well. There's a shortage of good, honest writing on long-term engineering decisions, please keep up the blog!

rbbydotdev 16 minutes ago | parent | prev | next [-]

Tom's articles are always a good read.

Anyone remember Auth0 and passportjs?

The churn of auth services is never ending, but I suppose so are the standards.

clintonb 8 minutes ago | parent [-]

OAuth 2.x and OIDC haven’t changed much. I still use Passport.js with Firebase.

kandros 26 minutes ago | parent | prev | next [-]

Does Better Auth still have the weird design to be everything “request header based”? I remember running admin scripts and tests to be very hacky due to it cause if you skipped that plugins wouldn’t run

zuzululu an hour ago | parent | prev | next [-]

what do you get from Better Auth btw? When I used it last year, I still found it lacking and it seemed to be run by one guy.

azyc an hour ago | parent | next [-]

Lol wut? you get all of your auth data in your own db in 1 cli command. You are not tied to any on db provider. On top of that you get hundreds of auth features like oauth providers (I use it to allow users to log in via google, apple, github) and the best part it's free. Not saying Supabase and Clerk are bad, but they cost money. With better auth you pay exactly $0 for all of this.

giancarlostoro 42 minutes ago | parent [-]

Or I could use a web framework that offers that out of the box, and its free and lives in my database, wherever I want.

mchusma 10 minutes ago | parent | next [-]

I’ve looked at these auth providers many times over the years and I just don’t get the value. It takes me a couple of minutes to set up auth. Why would I want a dependency? It doesn’t help me with the hardest part which is configuring Google and Apple sign in stuff on Google and Apple. I just don’t get it.

rozap 40 minutes ago | parent | prev | next [-]

this is sorta the obvious takeaway here. as a postgres/phoenix/elixir enjoyer i am blissfully unaware of all this sort of SaaS churn.

Scarbutt 35 minutes ago | parent | prev [-]

What framework offers all those auth features OOTB?

dsagent 16 minutes ago | parent [-]

Laravel

https://laravel.com/docs/13.x/authentication

https://laravel.com/docs/13.x/socialite

https://laravel.com/docs/13.x/sanctum

lanyard-textile 41 minutes ago | parent | prev [-]

It must have come a long way then -- I'm integrating it into a new product and it is absolutely fantastic. It just works.

supermdguy 39 minutes ago | parent | prev | next [-]

Better auth is great! I love how it's way more hackable than using a something like Clerk. We were able to add a plugin to allow auth via iframe postMessage (embedded in a CRM) and everything worked seamlessly.

cyberax an hour ago | parent | prev | next [-]

> Some important context is that Clerk is a major success. They just raised 50 million dollars and they have lots of satisfied users.

And even more users who are looking to escape. Clerk is just a mess. They are trying to cram EVERYTHING into their libraries: Web3 crap, Stripe, etc. Clerk's JS blob is now triggering the browser inspectors for being slow to load.

Every time when we upgraded React, Clerk libraries were the biggest pain with their transitive dependencies. We had issues with Stripe libraries with conflicting versions, etc.

And forget about debugging it. The libraries are obfuscated, and the TS code is impenetrable mess of abstractions to support "isomorphic" code that can run transparently on the frontend and backend.

And their platform itself is lacking important functionality, like freaking audit logs and versioning. Somebody (probably) accidentally changed a setting in their console, and we couldn't trace back when it happened or who did it.

cpursley 13 minutes ago | parent | prev | next [-]

If you're in Elixir-land, I've put together a few packages to help migrating from Supabase (or other stacks):

- https://github.com/agoodway/introspex (generate Ecto Schemas from postgres tables)

- https://github.com/agoodway/pgrest (Supabase/PostgREST compatible query engine)

I also found this helpful in the migration: https://github.com/supabase-community/supabase-ex

Nothing for auth, I basically did a one-off script for that. Phoenix auth stuff that comes out of the box is great.

cpursley 10 minutes ago | parent [-]

Oh, and http://github.com/agoodway/walex if you need the realtime database change stuff.

moomoo11 16 minutes ago | parent | prev [-]

I've just stuck with Auth0 for years now.

Easy to use and high reliability. Some of these other providers are not the best at reliability.