ory/kratos のシンプルな管理インターフェイス。 React と Microsoft/fluentui で作成されました。
kratos-admin-ui の機能の概要を次に示します。
すべての ID の検索と並べ替えが可能な概要が得られます。
1 つの ID を選択すると、ツールバーが拡張され、次のようなアクションが表示されます。
複数の ID に対して削除や回復アクションを同時に実行することもできます。
ID のすべての属性を表示したい場合は、詳細ビューで開くことができます。
新しいアイデンティティを作成するには、まず kratos で設定したアイデンティティ スキーマを選択する必要があります。すべてのアイデンティティ特性が動的にレンダリングされます。
編集ページですべてのアイデンティティ特性を編集できます。
イメージを実行するには、2 つの環境変数を指定する必要があります。
KRATOS_ADMIN_URL
: kratos インスタンスの管理者 URLKRATOS_PUBLIC_URL
: kratos インスタンスのパブリック URL認証がないため、admin-api をインターネットに公開しないことを推奨する Kratos のベスト プラクティスに従う必要があります。
admin-ui を実行するには、もちろん admin-api へのアクセスが必要ですが、kratos と同じネットワークで admin-ui を実行する必要があります。
以下の抜粋では、admin-ui が kratos と同じ docker ネットワーク ( kratos_intranet
) にデプロイされます。Docker-Compose-DNS 解決を介して、nginx リバース プロキシが admin を呼び出すことができます。
docker run -it
--rm -p 5173:8080
-e KRATOS_ADMIN_URL=http://kratos:4434
-e KRATOS_PUBLIC_URL=http://kratos:4433
--network kratos_intranet
ghcr.io/dfoxg/kratos-admin-ui
または、ここのように、 docker-compose.yml
ファイルに含めます。
services:
kratos-migrate:
image: oryd/kratos:v1.0.0
environment:
- DSN=sqlite:///var/lib/sqlite/db.sqlite?_fk=true&mode=rwc
volumes:
- type: volume
source: kratos-sqlite
target: /var/lib/sqlite
read_only: false
- type: bind
source: ./contrib/quickstart/kratos/email-password
target: /etc/config/kratos
command: -c /etc/config/kratos/kratos.yml migrate sql -e --yes
restart: on-failure
networks:
- intranet
kratos:
image: oryd/kratos:v1.0.0
depends_on:
- kratos-migrate
ports:
- '4433:4433' # public
# - '4434:4434' # admin, do not expose!
restart: unless-stopped
environment:
- DSN=sqlite:///var/lib/sqlite/db.sqlite?_fk=true
- LOG_LEVEL=trace
command: serve -c /etc/config/kratos/kratos.yml --dev --watch-courier
volumes:
- type: volume
source: kratos-sqlite
target: /var/lib/sqlite
read_only: false
- type: bind
source: ./contrib/quickstart/kratos/email-password
target: /etc/config/kratos
networks:
- intranet
admin_ui:
image: ghcr.io/dfoxg/kratos-admin-ui:v2.5.0
ports:
- '80:8080'
restart: unless-stopped
environment:
- KRATOS_ADMIN_URL=http://kratos:4434
- KRATOS_PUBLIC_URL=http://kratos:4433
networks:
- intranet
networks:
intranet:
volumes:
kratos-sqlite:
NAMESERVER
: kratos URL の DNS 解決に使用するネームサーバー。デフォルトでは、/etc/resolv.conf から値を読み取るため、多くのランタイムではこの値を設定しなくても正常に動作します。 /etc/resolv.conf がない場合は、 127.0.0.11
(Docker dns) に設定されます。 ory kratos のローカル インスタンスが実行されている必要があります。最新のテスト済みバージョンはv1.1.0
です。
cd kratos-admin-ui
npm install
node cors-proxy.js // starts a cors-proxy for the admin-api, so the browser can make requests
npm run start
cd kratos-admin-ui
docker build -t kratos-admin-ui .