コンテンツにスキップ

Lockatus をインストール

Lockatus は、ひとつの Docker イメージと Postgres データベースとして提供されます。初回起動時に RS256 署名鍵を生成し(データベースに暗号化して保存)、最初のスーパー管理者をシードします — そのため、ひとつの docker compose up で動作する identity ハブが手に入ります。

Docker

推奨される方法です。同梱の docker compose がハブと Postgres を一緒に起動します。

マスターキー

LOCKATUS_SECRET は TOTP シークレットを暗号化し、ハブセッションに署名します。32 バイトのランダムバイトを生成します。

到達可能な issuer URL

LOCKATUS_ISSUER はトークンが持つ公開 URL です — ブラウザと連携アプリの両方から到達可能でなければなりません。

Terminal window
git clone https://github.com/diegoparras/lockatus.git && cd lockatus
cp .env.example .env # set POSTGRES_PASSWORD and LOCKATUS_SECRET
docker compose up -d --build
docker compose logs lockatus # the generated admin password is printed once here
# → http://localhost:8081

マスターキーは次のように生成します。

Terminal window
node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
  1. http://localhost:8081 を開き、ログに一度だけ表示されたパスワード(または LOCKATUS_ADMIN_PASS に設定したもの)で LOCKATUS_ADMIN_EMAIL としてサインインします。
  2. Access では、誰が各アプリでどのロールを持つかをマトリクスが示します。ユーザーを作成し、ロールを割り当てます。
  3. オプションで自分のアカウントに 二要素認証 を登録し、+ App ボタンでマトリクスから新しいファミリーアプリを追加します。

OIDC ディスカバリーエンドポイント

Section titled “OIDC ディスカバリーエンドポイント”
Route用途
GET /healthサービスの稼働状況(およびデータベースの状態)。
GET /.well-known/openid-configurationOIDC ディスカバリー用の issuer メタデータ。
GET /jwks.json公開鍵。アプリがトークンを オフライン で検証できるようにします。
VariableDefault説明
POSTGRES_PASSWORD(required)データベースパスワード。
LOCKATUS_SECRET(required)マスターキー — TOTP シークレットを暗号化し、ハブセッションに署名します。
LOCKATUS_ISSUERhttp://localhost:8081トークンに埋め込まれる公開 issuer URL。
LOCKATUS_ADMIN_EMAILadmin@lockatus.local最初のスーパー管理者。
LOCKATUS_ADMIN_PASS(empty)空 → 生成されてログに一度だけ表示されます。
LOCKATUS_SECURE_COOKIE0TLS の背後では 1 に設定します。
LOCKATUS_PORT8081ホストポート。