อินเทอร์เฟซผู้ดูแลระบบแบบง่ายสำหรับ ory/kratos สร้างด้วย React และ microsoft/fluentui
ติดตามภาพรวมเกี่ยวกับคุณสมบัติของ kratos-admin-ui:
คุณจะได้รับภาพรวมของข้อมูลระบุตัวตนทั้งหมดที่สามารถค้นหาและจัดเรียงได้:
เมื่อคุณเลือกข้อมูลประจำตัวหนึ่งรายการ แถบเครื่องมือจะถูกขยายด้วยการดำเนินการดังนี้
คุณยังสามารถดำเนินการลบและ/หรือกู้คืนข้อมูลระบุตัวตนหลายรายการพร้อมกันได้
หากคุณต้องการดูคุณลักษณะทั้งหมดของข้อมูลประจำตัว คุณสามารถเปิดได้ในมุมมองรายละเอียด
ในการสร้างข้อมูลประจำตัวใหม่ คุณต้องเลือกสคีมาข้อมูลประจำตัวที่คุณกำหนดค่าใน kratos ก่อน ลักษณะเฉพาะตัวทั้งหมดได้รับการเรนเดอร์แบบไดนามิก
คุณสามารถแก้ไขลักษณะประจำตัวทั้งหมดได้ในหน้าแก้ไข
หากต้องการเรียกใช้อิมเมจ คุณต้องระบุตัวแปรสภาพแวดล้อม 2 รายการ:
KRATOS_ADMIN_URL
: URL ผู้ดูแลระบบของอินสแตนซ์ kratos ของคุณKRATOS_PUBLIC_URL
: URL สาธารณะของอินสแตนซ์ kratos ของคุณคุณควรปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุดของ kratos ซึ่งแนะนำว่าอย่าเปิดเผย admin-api ไปยังอินเทอร์เน็ต เนื่องจากไม่มีการตรวจสอบสิทธิ์
หากต้องการเรียกใช้ admin-ui ซึ่งแน่นอนว่าจำเป็นต้องเข้าถึง admin-api คุณควรเรียกใช้ admin-ui ในเครือข่ายเดียวกันกับ kratos
ในตัวอย่างต่อไปนี้ admin-ui ได้รับการปรับใช้ในเครือข่ายนักเทียบท่าเดียวกัน ( kratos_intranet
) เช่นเดียวกับ kratos - ผ่านความละเอียดของ Docker-Compose-DNS พร็อกซีย้อนกลับ nginx สามารถโทรหาผู้ดูแลระบบได้
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
: เนมเซิร์ฟเวอร์ที่จะใช้สำหรับการแก้ปัญหา DNS สำหรับ URL ของ Kratos ตามค่าเริ่มต้น ระบบจะอ่านค่าจาก /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 .