kratos admin ui
v2.5.0
一個簡單的 ory/kratos 管理介面。使用 React 和 microsoft/ Fluentui 製作。
下面概述了 kratos-admin-ui 的功能:
您可以獲得所有身份的可搜尋和可排序的概述:
當您選擇一個身分時,工具列將透過以下操作進行擴展
您也可以同時對多個身分執行刪除和/或復原操作
如果您想查看某個身分的所有屬性,可以在詳細視圖中開啟它。
要建立新身份,您必須先選擇您在 kratos 中配置的身份模式。所有身分特徵都會動態呈現。
您可以在編輯頁面上編輯所有身分特徵。
要運行映像,您必須提供兩個環境變數:
KRATOS_ADMIN_URL
:您的 kratos 實例的管理 URLKRATOS_PUBLIC_URL
:您的 kratos 實例的公共 URL您應該遵循 kratos 最佳實踐,該實踐建議永遠不要將 admin-api 暴露到互聯網,因為沒有身份驗證。
要執行 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 .