ありえないくらいシンプルな IDaaS。OAuth 2.0 / OpenID Connect を、1 バイナリで。派手さはない、しかし必須——アプリを支えに徹する縦の構造材。
日本建築で建物全体を支える縦の構造材が「柱」。Hashirah は認証を引き受け、使う側を主役にする。目立たない場所で、止まらず立ち続けることだけを仕事にする。
fosite の上に素直に実装。仕様を曲げない・独自拡張で囲い込まない。必要な RFC は最初から揃っている。
ブラウザでもネイティブでも、横取りされない認可フロー。S256 を要求。
RP を API から自己登録。発行した registration token で後から回収。
access token をそのまま検証できる JWT で発行。イントロスペクション不要。
認可レスポンスに iss を必ず添えて、mix-up 攻撃を防ぐ。
長期セッションも machine-to-machine も、標準 grant でまかなう。
外部 IdP ログインを federated_identities に集約。設定された時だけ有効化。
signup から検証メールまで内蔵。SES 送信と bounce/complaint 処理込み。
scale-to-zero でも PostgreSQL に永続化。冷えても token を失わない。
ディスカバリから token 交換、Dynamic Client Registration まで。隠し事のない、教科書どおりのフロー。
OP・dashboard・admin を Host で振り分ける単一バイナリ。運用で気にする箱は、いつも 1 つだけ。
scale-to-zero でコールドスタートしても、発行済みの token を失わない。PostgreSQL に素直に永続化する。
OpenID conformance を見据えた、独自拡張に逃げない実装。RFC をそのまま読めば挙動が分かる。
RP 開発者向け dashboard は招待制で公開予定。メールを登録すると、開けたタイミングでご案内します。
SEED_DEV_FIXTURES=1 go run ./cmd/hashirah