コンテンツにスキップ

Lockatus ドキュメント

Lockatus はスイートの identity ハブ です: 共有された人々のリストであり、共通の門番です。ユーザー、そのパスワード、その二要素認証、そして アプリごとのロール を保持し、再度ログインすることなくどのアプリにも入るための署名されたパスを各人に渡します。

OIDC シングルサインオン

Authorization Code + PKCE。ハブで一度サインインすれば、すべての連携アプリがあなたを認識し、トークンからあなたのロールを読み取ります。一度ログインすれば、許可されたすべてのアプリが開きます。

オフライン検証

ハブは RS256 でトークンに署名し、アプリは公開 JWKS に対してそれらを検証します — ホームに問い合わせることはありません。ハブがダウンしていても、ライブセッションは動作し続けます。

アクセスマトリクス

誰がどのシステムを使うかのグリッドです。各アプリは自身のロールカタログを 宣言 し、Lockatus がそれを 割り当て ます。あるアプリにロールがないことは、アクセスがないことを意味します — ゲーティングはマトリクスで行われます。

二要素認証とリカバリー

TOTP を一度登録すれば(Google Authenticator または互換品)、ワンタイムのリカバリーコードと管理者リセットが使えます。すべてのアプリに継承されます。パスワードを変更すると、すべてのリフレッシュトークンが無効になります。

4 つのシングルユーザーアプリは内部でマルチユーザーになるわけではありません — Lockatus がそれらの外部ユーザーテーブルです。各アプリは理解できるロールを宣言し、ハブがマトリクスからそれらを割り当て、アプリはロールでゲートします。より深い、ユーザーごとの所有権は、アプリが人ごとにリソースを真に所有する場所(Selega など)にのみ存在します。

新しいアプリのオンボーディング

Section titled “新しいアプリのオンボーディング”

どんな新しいファミリーアプリも、再デプロイなしに マトリクス自体から参加します: + App ボタンでそのスラッグとロールカタログ(およびオプションのリダイレクト URI)を宣言し、ユーザーにロールを割り当てます。スイートのカタログはあらかじめシードされて提供されます。

連携は オプションかつ非破壊的 です — 各アプリは AUTH_MODE=federado フラグ(デフォルトはオフ)の背後にスタンドアロンのログインを保持します。連携モードでは、アプリは /login をハブに委譲し、コールバック時にコードを交換し、RS256 トークンを JWKS に対して検証し、自身のセッションをシードします — そのため、アプリの残りのロールゲーティングは変わりません。参照用の OIDC クライアントは Node(node:crypto、追加依存なし)と Python(cryptography)向けに提供されます。

  • RS256 非対称署名。 ハブが秘密鍵を保持し、アプリは公開鍵(JWKS)でオフライン検証します。
  • 短いトークン + リフレッシュ。 リフレッシュはロールを再チェックするため、マトリクスでアクセスを取り消すと、次回のリフレッシュで SSO が切断されます。
  • 監査の分離。 セキュリティイベント(ログイン、2FA、ロール変更)はオンです。アプリごとのアクティビティログはオプトインで、デフォルトはオフです。