Antarmuka Admin sederhana untuk ory/kratos. Dibuat dengan React dan microsoft/fluentui.
Berikut ikhtisar fitur kratos-admin-ui:
Anda mendapatkan ikhtisar semua identitas yang dapat dicari dan diurutkan:
Saat Anda memilih satu identitas, toolbar diperluas dengan tindakan seperti
Anda juga dapat melakukan tindakan penghapusan dan/atau pemulihan pada beberapa identitas secara bersamaan
Jika Anda ingin melihat seluruh atribut suatu identitas, Anda dapat membukanya secara detail.
Untuk membuat identitas baru Anda harus terlebih dahulu memilih skema identitas yang Anda konfigurasikan di kratos. Semua ciri identitas ditampilkan secara dinamis.
Anda dapat mengedit semua ciri identitas di halaman edit.
Untuk menjalankan image, Anda harus menyediakan dua variabel lingkungan:
KRATOS_ADMIN_URL
: url admin instance kratos AndaKRATOS_PUBLIC_URL
: url publik instance kratos AndaAnda harus mengikuti praktik terbaik kratos, yang merekomendasikan untuk tidak pernah mengekspor admin-api ke internet, karena tidak ada otentikasi.
Untuk menjalankan admin-ui yang tentunya membutuhkan akses ke admin-api, sebaiknya jalankan admin-ui di jaringan yang sama dengan kratos.
Dalam cuplikan berikut, admin-ui akan diterapkan di jaringan buruh pelabuhan yang sama ( kratos_intranet
) dengan kratos - melalui resolusi Docker-Compose-DNS, proxy terbalik nginx dapat memanggil 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
atau seperti di sini, sertakan dalam file 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
: server nama yang digunakan untuk resolusi dns untuk url kratos. Secara default, ia membaca nilai dari /etc/resolv.conf, sehingga berfungsi dengan baik tanpa menyetel nilai ini di banyak runtime. Jika tidak ada /etc/resolv.conf, maka akan disetel ke 127.0.0.11
(Docker dns). Diperlukan instance lokal ory kratos yang sedang berjalan. versi terbaru yang diuji adalah 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 .