Cloudflare信者です。

概要

SSOって金額的に高いし、設定色々しないといけなくてめんどくさいですよね。
ユーザー側がアカウントを意識しないようにする…パスワードレスでのログイン
Cloudflareに乗っけるときの最大の壁であるSMTPが使えないという問題があるが、
Plunkを使うことでHTTPでのメール送信が可能になる。

課題

Cloudflareとは

圧倒的な低コストでAWSを破壊する存在。
CloudflareでできることはCloudflareでやったほうがいい。
Cloudflareでできないことは、Cloudflareでできるか考えてみたほうがいい。
っていうレベルです。

Cloudflareの最大の制約は、HTTPしか使えないという点。
Cloudflareは元々CDNの会社で、エッジサーバーを世界中各地に設置している。
そのサーバー網にデプロイするため、HTTPの通信に制約されるというわけだ。

Better Authとは

最近流行りのJS系の認証ライブラリ。マジックリンクを始め、TOTPやパスキーとかにも対応している。
ちゃちゃっと認証を作れる。ありがたい。

Plunkとは

簡単に言うとHTTPでメールを送れるサービス。
SMTPが使えない環境でメールを送れるようにする。

Plunk自体はOSSになっていてセルフホスト+AWS SESでも使えるが
Plunk公式SaaSもあり、ドメインを接続するだけでHTTPでのメールの送信ができるようになる

同様のサービスとして、Resend, Cloudflare Email Sendingがある。
Cloudflare Email SendingはWorkers Paidプランでしか使えなく…月額5ドルという高額であるため
1か月に1000通までは無料で送れるので、マジックリンク送信用としては十分な量であるためこちらを採用した。

お金があればCloudflare Email Sending(Workers Paid プラン)を使うほうがいいと思います。
→ めちゃめちゃコスパはいいです。Workers Paidプランはメールが送れるだけではなくサーバーレス実行などの制限も解放されるので5ドルは破格な値段ではあります。
(でもうちの会社は出せないのです…)

Cloudflare Email Sendingとは

なんかワンちゃん月5ドル出してもいい気がしてきた…ポケットマネーで…!

具体的な実装…

と行きたいところだけど、AIに丸投げしたのでよくわかってない。
Better Auth側は、hooksを設定して、あと認証用のルートとDB作ればOK