- Perkenalan
- Cara menggunakan
- Kustomisasi
- API yang didukung
- Deteksi Serangan
- Manajemen Otentikasi
- Sertifikat Atribut Klien
- Akses Awal Klien
- Kebijakan Pendaftaran Klien
- Pemetaan Peran Klien
- Cakupan Klien
- Klien
- Komponen
- Grup
- Penyedia Identitas
- Kunci
- Pemeta Protokol
- Admin Alam
- Pemeta Peran
- Peran
- Peran (menurut ID)
- Pemetaan Lingkup
- Penyedia Penyimpanan Pengguna
- Pengguna
- Akar
Perkenalan
Ini adalah klien php untuk terhubung ke api istirahat admin keycloak tanpa sakit kepala.
Fitur:
- Mudah digunakan
- Tidak perlu mendapatkan token atau membuatnya - itu sudah ditangani oleh klien
- Tidak perlu menentukan url apa pun selain uri dasar
- Tidak ada encode/decode untuk json hanya data seperti yang Anda harapkan
Bekerja dengan API REST admin Keycloak 7.0+.
https://www.keycloak.org/documentation -> "Administrasi REST API"
Cara menggunakan
1. Buat klien baru
$ client = Keycloak Admin KeycloakClient:: factory ([
' realm ' => ' master ' ,
' username ' => ' admin ' ,
' password ' => ' 1234 ' ,
' client_id ' => ' admin-cli ' ,
' baseUri ' => ' http://127.0.0.1:8180 ' ,
]);
Sejak versi 0.30, jika URL dasar Keycloak Anda dimulai dengan auth/
, tambahkan ke baseUri
(misalnya http://127.0.0.1:8180/auth/). URL dasar untuk Keycloak versi 7 hingga 16 memiliki auth/
. Di Keycloak 17+ itu tergantung pada pengaturan Anda.
2. Gunakan itu
$ client -> getUsers ();
//Result
// Array of users
/*
[
[
"id" => "39839a9b-de08-4d2c-b91a-a6ce2595b1f3",
"createdTimestamp" => 1571663375749,
"username" => "admin",
"enabled" => true,
"totp" => false,
"emailVerified" => false,
"disableableCredentialTypes" => [
"password",
],
"requiredActions" => [],
"notBefore" => 0,
"access" => [
"manageGroupMembership" => true,
"view" => true,
"mapRoles" => true,
"impersonate" => true,
"manage" => true,
],
],
]
*/
$ client -> createUser ([
' username ' => ' test ' ,
' email ' => ' [email protected] ' ,
' enabled ' => true ,
' credentials ' => [
[
' type ' => ' password ' ,
' value ' => ' 1234 ' ,
],
],
]);
Kustomisasi
Kredensial yang didukung
Dimungkinkan untuk mengubah jenis kredensial yang digunakan untuk mengautentikasi dengan mengubah konfigurasi klien keycloak.
Saat ini, kredensial berikut didukung
- kredensial kata sandi, digunakan secara default
- untuk mengautentikasi dengan akun pengguna
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' grant_type ' => ' password ' ,
' username ' => ' admin ' ,
' password ' => ' 1234 ' ,
]);
- kredensial klien
- untuk mengautentikasi dengan akun layanan klien
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' grant_type ' => ' client_credentials ' ,
' client_id ' => ' admin-cli ' ,
' client_secret ' => ' 84ab3d98-a0c3-44c7-b532-306f222ce1ff ' ,
]);
Menyuntikkan middleware
Dimungkinkan untuk memasukkan middleware klien Guzzle ke dalam konfigurasi klien keycloak menggunakan kata kunci middlewares
.
Misalnya:
use GuzzleHttp Middleware ;
use Psr Http Message RequestInterface ;
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' middlewares ' => [
// throws exceptions when request fails
Middleware:: httpErrors (),
// other custom middlewares
Middleware:: mapRequest ( function ( RequestInterface $ request ) {
return $ request ;
}),
],
]);
Mengubah cara token disimpan dan disimpan
Secara default, token disimpan saat runtime. Artinya token sebelumnya tidak digunakan saat membuat klien baru.
Anda dapat menyesuaikan cara token disimpan dalam konfigurasi klien dengan mengimplementasikan TokenStorage
Anda sendiri, sebuah antarmuka yang menjelaskan cara token disimpan dan diambil.
class CustomTokenStorage implements TokenStorage
{
public function getToken ()
{
// TODO
}
public function saveToken ( array $ token )
{
// TODO
}
}
$ client = Keycloak Admin KeycloakClient:: factory ([
...
' token_storage ' => new CustomTokenStorage (),
]);
Titik akhir Keycloak khusus
Dimungkinkan untuk memasukkan Operasi Layanan Guzzle dalam konfigurasi klien keycloak menggunakan kata kunci custom_operations
. Dengan cara ini Anda dapat memperluas titik akhir yang didukung bawaan dengan kustom.
$ client = KeycloakClient:: factory ([
...
' custom_operations ' => [
' getUsersByAttribute ' => [
' uri ' => ' /auth/realms/{realm}/userapi-rest/users/search-by-attr ' ,
' description ' => ' Get users by attribute Returns a list of users, filtered according to query parameters ' ,
' httpMethod ' => ' GET ' ,
' parameters ' => [
' realm ' => [
' location ' => ' uri ' ,
' description ' => ' The Realm name ' ,
' type ' => ' string ' ,
' required ' => true ,
],
' attr ' => [
' location ' => ' query ' ,
' type ' => ' string ' ,
' required ' => true ,
],
' value ' => [
' location ' => ' query ' ,
' type ' => ' string ' ,
' required ' => true ,
],
],
],
]
]);
API yang didukung
Deteksi Serangan
API | Nama Fungsi | Didukung |
---|
Hapus semua kegagalan login pengguna untuk semua pengguna. Tindakan ini dapat melepaskan pengguna yang dinonaktifkan sementara | hapusSemuaKegagalanLogin | ✔️ |
Dapatkan status nama pengguna dalam deteksi brute force | dapatkanBruteForceUserStatus | ✔️ |
Hapus semua kegagalan login pengguna untuk pengguna Ini dapat melepaskan pengguna yang dinonaktifkan sementara | hapusKegagalanLoginPengguna | ✔️ |
Manajemen Otentikasi
API | Nama Fungsi | Didukung |
---|
Dapatkan penyedia pengautentikasi Mengembalikan daftar penyedia pengautentikasi. | getAuthenticatorProviders | ✔️ |
Dapatkan penyedia pengautentikasi klien Mengembalikan daftar penyedia pengautentikasi klien. | getClientAuthenticatorProviders | ✔️ |
Dapatkan deskripsi konfigurasi penyedia pengautentikasi | dapatkanAuthenticatorConfigInfo | ✔️ |
Dapatkan konfigurasi pengautentikasi | dapatkanAuthenticatorConfig | ✔️ |
Perbarui konfigurasi pengautentikasi | perbaruiAuthenticatorConfig | ✔️ |
Hapus konfigurasi pengautentikasi | hapusAuthenticatorConfig | ✔️ |
Tambahkan eksekusi autentikasi baru | buatOtentikasiEksekusi | ✔️ |
Dapatkan Eksekusi Tunggal | dapatkanOtentikasiEksekusi | ✔️ |
Hapus eksekusi | hapusOtentikasiEksekusi | ✔️ |
Perbarui eksekusi dengan konfigurasi baru | perbaruiOtentikasiEksekusi | ✔️ |
Prioritas eksekusi lebih rendah | Prioritas Eksekusi Otentikasi yang lebih rendah | ✔️ |
Naikkan prioritas eksekusi | naikkan AuthenticationExecutionPriority | ✔️ |
Buat alur autentikasi baru | buatAuthenticationFlow | ✔️ |
Dapatkan alur autentikasi Mengembalikan daftar alur autentikasi. | dapatkanAuthenticationFlows | ✔️ |
Salin alur autentikasi yang ada dengan nama baru Nama baru diberikan sebagai atribut 'nama baru' dari objek JSON yang diteruskan | copyAuthenticationFlow | ✔️ |
Dapatkan eksekusi autentikasi untuk suatu alur | getAuthenticationFlowExecutions | ✔️ |
Perbarui eksekusi autentikasi untuk suatu alur | updateAuthenticationFlowExecutions | ✔️ |
Tambahkan eksekusi autentikasi baru ke alur | buatAuthenticationFlowExecution | ✔️ |
Tambahkan aliran baru dengan eksekusi baru ke aliran yang ada | addAuthenticationFlowExecution | ✔️ |
Dapatkan alur otentikasi untuk id | dapatkanAuthenticationFlow | ✔️ |
Perbarui alur autentikasi untuk id | perbaruiAuthenticationFlow | ✔️ |
Hapus alur autentikasi | hapusAuthenticationFlow | ✔️ |
Dapatkan penyedia tindakan formulir Mengembalikan daftar penyedia tindakan formulir. | getFormActionProviders | ✔️ |
Dapatkan penyedia formulir Mengembalikan daftar penyedia formulir. | dapatkanFormProviders | ✔️ |
Dapatkan deskripsi konfigurasi untuk semua klien | getClientsConfigDescriptions | ✔️ |
Daftarkan tindakan baru yang diperlukan | buat Tindakan yang Diperlukan | ✔️ |
Dapatkan tindakan yang diperlukan Mengembalikan daftar tindakan yang diperlukan. | dapatkanTindakan yang Diperlukan | ✔️ |
Dapatkan tindakan yang diperlukan untuk alias | dapatkanAliasRequiredAction | ✔️ |
Perbarui tindakan yang diperlukan | perbarui Diperlukan Tindakan | ✔️ |
Hapus tindakan yang diperlukan | deleteRequiredAction | ✔️ |
Turunkan prioritas tindakan yang diperlukan | Prioritas Tindakan yang Diperlukan lebih rendah | ✔️ |
Tingkatkan prioritas tindakan yang diperlukan | naikkan Prioritas Tindakan yang Diperlukan | ✔️ |
Dapatkan tindakan wajib yang belum terdaftar Mengembalikan daftar tindakan wajib yang belum terdaftar. | getUnregisteredRequiredActions | ✔️ |
Sertifikat Atribut Klien
API | Nama Fungsi | Didukung |
---|
Dapatkan info penting (coba dengan attr = "jwt.credential") | dapatkanClientKeyInfo | ✔️ |
Dapatkan file keystore untuk klien, yang berisi kunci pribadi dan sertifikat publik (catatan: tulis konten respons ke file) | dapatkanClientKeyStore | ✔️ |
Hasilkan sertifikat baru dengan pasangan kunci baru | menghasilkan Sertifikat Klien | ✔️ |
Buat pasangan kunci dan sertifikat baru, serta dapatkan file kunci pribadi. Buat pasangan kunci dan sertifikat serta sajikan kunci pribadi dalam format penyimpanan kunci yang ditentukan. | menghasilkan UnduhSertifikat Klien | ✔️ |
Unggah sertifikat dan akhirnya kunci pribadi | unggahClientCertificateAndPrivateKey | ✔️ |
Unggah hanya sertifikat, bukan kunci pribadi | uploadClientCertificateOnly | ✔️ |
Akses Awal Klien
API | Nama Fungsi | Didukung |
---|
Buat token akses awal baru. | buatClientInitialAccessToken | ✔️ |
DAPATKAN /{realm}/clients-initial-access | getClientInitialAccessToken | ✔️ |
HAPUS /{realm}/clients-initial-access/{id} | deleteClientInitialAccessToken | ✔️ |
Kebijakan Pendaftaran Klien
API | Nama Fungsi | Didukung |
---|
Jalur dasar untuk mengambil penyedia dengan configProperties terisi dengan benar | getClientRegistrationPolicyProviders | ✔️ |
Pemetaan Peran Klien
API | Nama Fungsi | Didukung |
---|
Tambahkan peran tingkat klien ke pemetaan peran grup | addGroupClientRoleMappings | ✔️ |
Dapatkan pemetaan peran tingkat klien untuk grup dan aplikasi | getGroupClientRoleMappings | ✔️ |
Hapus peran tingkat klien dari pemetaan peran grup | deleteGroupClientRoleMappings | ✔️ |
Dapatkan peran tingkat klien yang tersedia yang dapat dipetakan ke grup | getAvailableGroupClientRoleMappings | ✔️ |
Dapatkan pemetaan peran tingkat klien yang efektif. Ini mengulangi peran gabungan apa pun untuk grup | getGroupClientRoleMappingsWithComposite | ✔️ |
Tambahkan peran tingkat klien ke pemetaan peran pengguna | addUserClientRoleMappings | ✔️ |
Dapatkan pemetaan peran tingkat klien untuk pengguna dan aplikasi | dapatkan Pemetaan Peran Klien Pengguna | ✔️ |
Hapus peran tingkat klien dari pemetaan peran pengguna | deleteUserClientRoleMappings | ✔️ |
Dapatkan peran tingkat klien yang tersedia yang dapat dipetakan ke pengguna | getAvailableUserClientRoleMappings | ✔️ |
Dapatkan pemetaan peran tingkat klien yang efektif. Ini mengulangi peran gabungan apa pun untuk pengguna | getUserClientRoleMappingsWithComposite | ✔️ |
Cakupan Klien
API | Nama Fungsi | Didukung |
---|
Buat lingkup klien baru Nama Lingkup Klien harus unik! | buatClientScope | ✔️ |
Dapatkan cakupan klien milik ranah Mengembalikan daftar cakupan klien milik ranah | dapatkanClientScopes | ✔️ |
Dapatkan representasi cakupan klien | dapatkanClientScope | ✔️ |
Perbarui cakupan klien | perbaruiClientScope | ✔️ |
Hapus cakupan klien | hapusClientScope | ✔️ |
Klien
API | Nama Fungsi | Didukung |
---|
Buat klien baru Client_id klien harus unik! | buatKlien | ✔️ |
Dapatkan klien yang termasuk dalam ranah Mengembalikan daftar klien yang termasuk dalam ranah | dapatkan Klien | ✔️ |
Dapatkan representasi klien | dapatkan Klien | ✔️ |
Perbarui klien | perbaruiKlien | ✔️ |
Hapus klien | hapusKlien | ✔️ |
Hasilkan rahasia baru untuk klien | menghasilkan Rahasia Klien | ✔️ |
Dapatkan rahasia klien | dapatkan Rahasia Klien | ✔️ |
Dapatkan cakupan klien default. | getClientDefaultScopes | ✔️ |
Tetapkan cakupan klien sebagai cakupan default | setClientScopeAsDefault | ✔️ |
Hapus cakupan klien dari cakupan default | hapusClientScopeAsDefault | ✔️ |
Buat JSON dengan payload contoh token akses | getClientExampleAccessToken | ✔️ |
Kembalikan daftar semua pembuat protokol, yang akan digunakan saat membuat token yang dikeluarkan untuk klien tertentu. | getClientProtocolMappers | ✔️ |
Dapatkan pemetaan cakupan yang efektif dari semua peran wadah peran tertentu, yang secara de facto diizinkan dimiliki oleh klien ini dalam accessToken yang dikeluarkan untuknya. | getClientAllowedRoleMappingsInContainer | ✔️ |
Dapatkan peran, yang klien ini tidak memiliki cakupannya dan tidak dapat memilikinya di accessToken yang dikeluarkan untuknya. | getClientNotAllowedRoleMappingsInContainer | ✔️ |
Hasilkan konfigurasi adaptor klien menggunakan salah satu dari ini (keycloak-oidc-keycloak-json, keycloak-oidc-jboss-subsystem-cli, keycloak-oidc-jboss-subsystem, keycloak-saml, keycloak-saml-subsystem-cli, keycloak-saml -subsistem) | getClientInstallationConfiguration | ✔️ |
Kembalikan objek yang menyatakan apakah izin Otorisasi klien telah diinisialisasi atau belum dan referensi | getClientAuthorizationPermissionsStatus | ✔️ |
Perbarui inisialisasi izin Otorisasi klien dan referensi | perbaruiClientAuthorizationPermissionsStatus | ✔️ |
Daftarkan node cluster dengan klien Daftarkan node cluster secara manual ke klien ini - biasanya tidak perlu memanggilnya secara langsung karena adaptor harus menanganinya dengan mengirimkan permintaan registrasi ke Keycloak | registerClientClusterNode | ✔️ |
Membatalkan pendaftaran node cluster dari klien | batalkan pendaftaranClientClusterNode | ✔️ |
Dapatkan jumlah sesi offline aplikasi Mengembalikan jumlah sesi pengguna offline yang terkait dengan klien ini { "count": number } | getClientOfflineSessionsCount | ✔️ |
Dapatkan sesi offline untuk klien Mengembalikan daftar sesi pengguna offline yang terkait dengan klien ini | dapatkanClientOfflineSessions | ✔️ |
Dapatkan cakupan klien opsional. | dapatkanClientOptionalScopes | ✔️ |
Tetapkan cakupan opsional klien | menetapkanClientOptionalScope | ✔️ |
hapus penetapan cakupan opsional klien | batalkan penetapanClientOptionalScope | ✔️ |
Dorong kebijakan pencabutan klien ke URL adminnya Jika klien memiliki URL admin, dorong kebijakan pencabutan ke URL tersebut. | pushClientRevocationPolicy | ✔️ |
Hasilkan token akses pendaftaran baru untuk klien | menghasilkanClientRegistrationToken | ✔️ |
Dapatkan pengguna yang didedikasikan untuk akun layanan | getServiceAccountDedicatedUser | ✔️ |
Dapatkan jumlah sesi aplikasi Mengembalikan jumlah sesi pengguna yang terkait dengan klien ini { "count": number } | dapatkanClientSessionsCount | ✔️ |
Uji apakah node cluster yang terdaftar tersedia. Uji ketersediaan dengan mengirimkan permintaan 'ping' ke semua node cluster. | testClientNodesAvailability | ✔️ |
Dapatkan sesi pengguna untuk klien Mengembalikan daftar sesi pengguna yang terkait dengan klien ini | dapatkanSesi Klien | ✔️ |
Komponen
API | Nama Fungsi | Didukung |
---|
Buat komponen baru | buatKomponen | ✔️ |
Dapatkan komponen | dapatkan Komponen | ✔️ |
Dapatkan komponen | dapatkan Komponen | ✔️ |
Perbarui komponen | pembaruanKomponen | ✔️ |
Hapus komponen | hapusKomponen | ✔️ |
Daftar tipe subkomponen yang tersedia untuk dikonfigurasikan untuk komponen induk tertentu. | dapatkanComponentSubTypes | ✔️ |
Grup
API | Nama Fungsi | Didukung |
---|
buat atau tambahkan grup ranah tingkat atas. Atur atau buat anak. | buatGrup | ✔️ |
Dapatkan hierarki grup. | dapatkanGrup | ✔️ |
Mengembalikan jumlah grup. | dapatkanGroupsCount | ✔️ |
Dapatkan Grup | dapatkanGrup | ✔️ |
Dapatkan Anak Kelompok (subgrup) | dapatkanGroupChildren | ✔️ |
Perbarui grup, abaikan subgrup. | perbaruiGrup | ✔️ |
Hapus Grup | hapusGrup | ✔️ |
Tetapkan atau buat anak. | buatGrup Anak | ✔️ |
Kembalikan objek yang menyatakan apakah izin Otorisasi klien telah diinisialisasi atau belum dan referensi | dapatkan Izin Manajemen Grup | ✔️ |
Kembalikan objek yang menyatakan apakah izin Otorisasi klien telah diinisialisasi atau belum dan referensi | perbarui Izin Manajemen Grup | ✔️ |
Dapatkan pengguna Mengembalikan daftar pengguna, yang difilter menurut parameter kueri | dapatkan Anggota Grup | ✔️ |
Penyedia Identitas
API | Nama Fungsi | Didukung |
---|
Impor penyedia identitas dari file JSON yang diunggah | importIdentityProvider | ✔️ |
Buat penyedia identitas baru | buatIdentityProvider | ✔️ |
Dapatkan penyedia identitas | getIdentityProviders | ✔️ |
Dapatkan penyedia identitas | dapatkanIdentityProvider | ✔️ |
Perbarui penyedia identitas | perbaruiIdentityProvider | ✔️ |
Hapus penyedia identitas | hapusIdentityProvider | ✔️ |
Ekspor konfigurasi broker publik untuk penyedia identitas | eksporIdentityProviderBrokerConfig | ✔️ |
Kembalikan objek yang menyatakan apakah izin Otorisasi klien telah diinisialisasi atau belum dan referensi | dapatkanIdentityProviderManagementPermissions | ✔️ |
Kembalikan objek yang menyatakan apakah izin Otorisasi klien telah diinisialisasi atau belum dan referensi | perbaruiIdentityProviderManagementPermissions | ✔️ |
Dapatkan tipe mapper untuk penyedia identitas (Keycloak memberikan laporan pengecualian) | getIdentityProviderMapperTypes | ✔️ |
Tambahkan pembuat peta ke penyedia identitas | buatIdentityProviderMapper | ✔️ |
Dapatkan pembuat peta untuk penyedia identitas | getIdentityProviderMappers | ✔️ |
Dapatkan mapper berdasarkan id untuk penyedia identitas | getIdentityProviderMapper | ✔️ |
Perbarui mapper untuk penyedia identitas (tidak berfungsi karena alasan tertentu memberikan Pengecualian Null Pointer) | perbaruiIdentityProviderMapper | ✔️ |
Hapus pembuat peta untuk penyedia identitas | deleteIdentityProviderMapper | ✔️ |
Dapatkan penyedia identitas | getIdentityProviderById | ✔️ |
Kunci
API | Nama Fungsi | Didukung |
---|
Dapatkan kunci Realm | dapatkanRealmKeys | ✔️ |
Pemeta Protokol
Catatan: Id dikirim sebagai clientScopeId atau clientId dan mapperId, yang lainnya hanya sebagai dokumentasi keycloak
API | Nama Fungsi | Didukung |
---|
Buat beberapa pembuat peta | createClientScopeProtocolMappers | ✔️ |
Buat pembuat peta | buatClientScopeProtocolMapper | ✔️ |
Dapatkan pembuat peta | getClientScopeProtocolMappers | ✔️ |
Dapatkan mapper berdasarkan id | getClientScopeProtocolMapperById | ✔️ |
Perbarui pembuat peta | perbaruiClientScopeProtocolMapper | ✔️ |
Hapus pembuat peta | deleteClientScopeProtocolMapper | ✔️ |
Dapatkan pembuat peta berdasarkan nama untuk protokol tertentu | getClientScopeProtocolMappersByProtocolName | ✔️ |
Buat beberapa pembuat peta | buatClientProtocolMappers | ✔️ |
Buat pembuat peta | buatClientProtocolMapper | ✔️ |
Dapatkan pembuat peta | getClientProtocolMappers | ✔️ |
Dapatkan mapper berdasarkan id | getClientProtocolMapperById | ✔️ |
Perbarui pembuat peta | perbaruiClientProtocolMapper | ✔️ |
Hapus pembuat peta | deleteClientProtocolMapper | ✔️ |
Dapatkan pembuat peta berdasarkan nama untuk protokol tertentu | getClientProtocolMappersByProtocolName | ✔️ |
Admin Alam
API | Nama Fungsi | Didukung |
---|
Dapatkan ranah yang dapat diakses Menampilkan daftar ranah yang dapat diakses. Daftar ini disaring berdasarkan wilayah mana yang boleh dilihat oleh penelepon. | dapatkanRealm | ✔️ |
Impor ranah Mengimpor ranah dari representasi penuh ranah tersebut. | importRealm | ✔️ |
Dapatkan representasi tingkat atas dari dunia ini. Ini tidak akan mencakup informasi bersarang seperti representasi Pengguna dan Klien. | dapatkanRealm | ✔️ |
Perbarui informasi tingkat atas dunia. Setiap pengguna, peran, atau informasi klien dalam representasi akan diabaikan. | perbaruiRealm | ✔️ |
Hapus wilayah tersebut | deleteRealm | ✔️ |
Dapatkan peristiwa admin Mengembalikan semua peristiwa admin, atau memfilter peristiwa berdasarkan parameter kueri URL yang tercantum di sini | dapatkanAdminEvents | ✔️ |
Hapus semua acara admin | hapusAdminEvents | ✔️ |
Hapus cache kunci publik eksternal (Kunci publik klien atau Penyedia identitas) | hapusExternalPublicKeysCache | ✔️ |
Hapus cache ranah | clearRealmCache | ✔️ |
Hapus cache pengguna | hapusUserCache | ✔️ |
Jalur dasar untuk mengimpor klien di bawah ranah ini. | klien impor | ✔️ |
Dapatkan statistik sesi klien Mengembalikan peta JSON. | getClientsSessionStats | ✔️ |
DAPATKAN /{realm}/pendaftar kredensial | dapatkanCredentialRegistrator | ✔️ |
Dapatkan cakupan klien default ranah. | dapatkanDefaultClientScopes | ✔️ |
PUT /{realm}/default-default-client-scopes/{clientScopeId} | setScopeAsDefaultClientScope | ✔️ |
HAPUS /{realm}/default-default-client-scopes/{clientScopeId} | unsetScopeAsDefaultClientScope | ✔️ |
Dapatkan hierarki grup. | getDefaultGroupHierarchy | ✔️ |
PUT /{realm}/default-groups/{groupId} | setGroupAsDefaultGroup | ✔️ |
HAPUS /{realm}/default-groups/{groupId} | unsetGroupAsDefaultGroup | ✔️ |
Dapatkan cakupan klien opsional bidang. | dapatkanOptionalClientScopes | ✔️ |
PUT /{realm}/default-opsional-client-scopes/{clientScopeId} | setScopeAsOptionalClientScope | ✔️ |
HAPUS /{realm}/default-opsional-client-scopes/{clientScopeId} | unsetScopeAsOptionalClientScope | ✔️ |
Dapatkan peristiwa Mengembalikan semua peristiwa, atau memfilternya berdasarkan parameter kueri URL yang tercantum di sini | dapatkanSemua Acara | ✔️ |
Hapus semua acara | hapusSemua Acara | ✔️ |
Dapatkan konfigurasi penyedia acara Mengembalikan objek JSON dengan konfigurasi penyedia acara | dapatkanEventsConfig | ✔️ |
Perbarui penyedia acara Mengubah penyedia acara dan/atau konfigurasinya | perbaruiEventsConfig | ✔️ |
Dapatkan grup pengguna berdasarkan jalur | dapatkanGroupByPath | ✔️ |
DAPATKAN /{realm}/localization | dapatkan Lokalisasi Lokal | ✔️ |
POST /{realm}/localization/{locale} | perbaruiLokalisasiTeks | ✔️ |
DAPATKAN /{realm}/localization/{locale} | dapatkan Teks Lokalisasi | ✔️ |
HAPUS /{realm}/localization/{locale} | hapusLokalisasiTeks | ✔️ |
DAPATKAN /{realm}/localization/{locale}/{key} | dapatkan Teks Lokalisasi | ✔️ |
PUT /{realm}/localization/{locale}/{key} | simpanLokalisasiTeks | ✔️ |
Menghapus semua sesi pengguna. (Keycloak memunculkan pengecualian saat ini dipanggil) | logoutSemuaPengguna | |
Ekspor sebagian wilayah yang ada ke dalam file JSON. | parsialExportRealm | ✔️ |
Impor sebagian dari file JSON ke ranah yang ada. | parsialImportRealm | ✔️ |
Dorong kebijakan pencabutan ranah ke klien mana pun yang memiliki url admin terkait dengannya. (Keycloak memunculkan pengecualian saat ini dipanggil) | pushRevocationPolicy | |
Hapus sesi pengguna tertentu. | mencabutUserSession | ✔️ |
Uji koneksi LDAP | tesLDAPConnection | ✔️ |
Uji koneksi SMTP dengan pengguna yang masuk saat ini | tesSMTPConnection | ✔️ |
Dapatkan Izin Manajemen Pengguna | dapatkan Izin Manajemen Pengguna | ✔️ |
Perbarui Izin Manajemen Pengguna | perbarui Izin Manajemen Pengguna | ✔️ |
Pemeta Peran
API | Nama Fungsi | Didukung |
---|
Dapatkan pemetaan peran | dapatkan Pemetaan Peran Grup | ✔️ |
Tambahkan pemetaan peran tingkat ranah ke grup | tambahkanGlobalRolesToGroup | ✔️ |
Dapatkan pemetaan peran tingkat dunia | getGroupRealmRoleMappings | ✔️ |
Hapus pemetaan peran tingkat ranah | deleteGroupRealmRoleMappings | ✔️ |
Dapatkan peran tingkat ranah yang dapat dipetakan | getAvailableGroupRealmRoleMappings | ✔️ |
Dapatkan pemetaan peran tingkat ranah yang efektif. Ini akan mengulang semua peran gabungan untuk mendapatkan hasilnya. | getEffectiveGroupRealmRoleMappings | ✔️ |
Dapatkan pemetaan peran | dapatkan Pemetaan Peran Pengguna | ✔️ |
Tambahkan pemetaan peran tingkat ranah kepada pengguna | tambahkanGlobalRolesToUser | ✔️ |
Dapatkan pemetaan peran tingkat dunia | getUserRealmRoleMappings | ✔️ |
Hapus pemetaan peran tingkat ranah | deleteUserRealmRoleMappings | ✔️ |
Dapatkan peran tingkat ranah yang dapat dipetakan | getAvailableUserRealmRoleMappings | ✔️ |
Dapatkan pemetaan peran tingkat ranah yang efektif. Ini akan mengulang semua peran gabungan untuk mendapatkan hasilnya. | getEffectiveUserRealmRoleMappings | ✔️ |
Peran
API | Nama Fungsi | Didukung |
---|
Buat peran baru untuk ranah atau klien (Khusus Klien) | buat Peran Klien | ✔️ |
Dapatkan semua peran untuk ranah atau klien (Khusus Klien) | dapatkan Peran Klien | ✔️ |
Dapatkan peran berdasarkan nama (Khusus Klien) | dapatkan Peran Klien | ✔️ |
Memperbarui peran berdasarkan nama (Khusus Klien) | perbaruiClientRole | ✔️ |
Menghapus peran berdasarkan nama (Khusus Klien) | hapus Peran Klien | ✔️ |
Tambahkan gabungan ke peran (Khusus Klien) | tambahkanCompositeRoleToClientRole | ✔️ |
Dapatkan gabungan peran (Khusus Klien) | getClientRoleCompositeRoles | ✔️ |
Hapus peran dari gabungan peran (Khusus Klien) | hapusCompositeRoleFromClientRole | ✔️ |
Peran tingkat aplikasi untuk aplikasi tertentu untuk gabungan peran tersebut (Khusus Klien) | getClientRoleCompositeRolesForClient | ✔️ |
Dapatkan peran tingkat ranah dari gabungan peran tersebut (Khusus Klien) | getClientRoleCompositeRolesForRealm | ✔️ |
Kembalikan Daftar Grup yang memiliki nama peran tertentu (Khusus Klien) | getClientRoleGroup | ✔️ |
Mengembalikan objek yang menyatakan apakah izin Otorisasi peran telah diinisialisasi atau belum dan referensi (Khusus Klien) | dapatkan Izin ClientRoleManagement | ✔️ |
Perbarui objek yang menyatakan apakah izin Otorisasi peran telah diinisialisasi atau belum dan referensi (Khusus Klien) | perbaruiClientRoleManagementPermissions | ✔️ |
Kembalikan Daftar Pengguna yang memiliki nama peran tertentu (Khusus Klien) | dapatkanClientRoleUsers | ✔️ |
Buat peran baru untuk ranah atau klien | buatRealmRole | ✔️ |
Dapatkan semua peran untuk ranah atau klien | dapatkanRealmRoles | ✔️ |
Dapatkan peran berdasarkan nama | dapatkanRealmRole | ✔️ |
Perbarui peran berdasarkan nama | perbaruiRealmRole | ✔️ |
Hapus peran berdasarkan nama | deleteRealmRole | ✔️ |
Tambahkan komposit ke peran tersebut | tambahkanCompositeRoleToRealmRole | ✔️ |
Dapatkan gabungan peran tersebut | getRealmRoleCompositeRoles | ✔️ |
Hapus peran dari gabungan peran | hapusCompositeRoleFromRealmRole | ✔️ |
Peran tingkat aplikasi untuk aplikasi tertentu untuk gabungan peran tersebut | getRealmRoleCompositeRolesForClient | ✔️ |
Dapatkan peran tingkat dunia dari gabungan peran tersebut | getRealmRoleCompositeRolesForRealm | ✔️ |
Kembalikan Daftar Grup yang memiliki nama peran tertentu | getRealmRoleGroup | ✔️ |
Mengembalikan objek yang menyatakan apakah izin Otorisasi peran telah diinisialisasi atau belum dan referensi | dapatkan Izin RealmRoleManagement | ✔️ |
Perbarui objek yang menyatakan apakah izin Otorisasi peran telah diinisialisasi atau belum dan referensi | perbaruiRealmRoleManagementPermissions | ✔️ |
Mengembalikan Daftar Pengguna yang memiliki nama peran tertentu | getRealmRoleUsers | ✔️ |
Peran (menurut ID)
API | Nama Fungsi | Didukung |
---|
Dapatkan representasi peran tertentu | dapatkanRealmRoleById | ✔️ |
Perbarui peran | perbaruiRealmRoleById | ✔️ |
Hapus peran tersebut | deleteRealmRoleById | ✔️ |
Jadikan peran tersebut sebagai peran gabungan dengan mengaitkan beberapa peran anak | tambahkanCompositeRoleToRealmRoleByRoleId | ✔️ |
Dapatkan anak-anak peran Mengembalikan sekumpulan anak-anak peran asalkan peran tersebut merupakan gabungan. | getRealmRoleCompositeRolesByRoleId | ✔️ |
Hapus serangkaian peran dari gabungan peran | hapusCompositeRoleFromRealmRoleByRoleId | ✔️ |
Dapatkan peran tingkat klien untuk klien yang berada dalam gabungan peran tersebut | getRealmRoleCompositeRolesForClientByRoleId | ✔️ |
Dapatkan peran tingkat ranah yang ada dalam gabungan peran tersebut | getRealmRoleCompositeRolesForRealmByRoleId | ✔️ |
Mengembalikan objek yang menyatakan apakah izin Otorisasi peran telah diinisialisasi atau belum dan referensi | getRealmRoleManagementPermissionsByRoleId | ✔️ |
Mengembalikan objek yang menyatakan apakah izin Otorisasi peran telah diinisialisasi atau belum dan referensi | updateRealmRoleManagementPermissionsByRoleId | ✔️ |
Pemetaan Lingkup
API | Nama Fungsi | Didukung |
---|
Dapatkan semua pemetaan cakupan untuk klien | | |
Tambahkan peran tingkat klien ke cakupan klien | | |
Dapatkan peran yang terkait dengan cakupan klien. Mengembalikan peran untuk klien. | | |
Hapus peran tingkat klien dari cakupan klien. | | |
Peran tingkat klien yang tersedia Mengembalikan peran untuk klien yang dapat dikaitkan dengan cakupan klien | | |
Dapatkan peran klien yang efektif Mengembalikan peran untuk klien yang terkait dengan cakupan klien. | | |
Tambahkan serangkaian peran tingkat ranah ke cakupan klien | | |
Dapatkan peran tingkat ranah yang terkait dengan cakupan klien | | |
Hapus serangkaian peran tingkat ranah dari cakupan klien | | |
Dapatkan peran tingkat ranah yang tersedia untuk dilampirkan ke cakupan klien ini | | |
Dapatkan peran tingkat ranah efektif yang terkait dengan cakupan klien. Apa yang dilakukan adalah mengulangi peran komposit apa pun yang terkait dengan cakupan klien dan menambahkan peran tersebut ke daftar ini. | | |
Dapatkan semua pemetaan cakupan untuk klien | | |
Tambahkan peran tingkat klien ke cakupan klien | | |
Dapatkan peran yang terkait dengan cakupan klien. Mengembalikan peran untuk klien. | | |
Hapus peran tingkat klien dari cakupan klien. | | |
Peran tingkat klien yang tersedia Mengembalikan peran untuk klien yang dapat dikaitkan dengan cakupan klien | | |
Dapatkan peran klien yang efektif Mengembalikan peran untuk klien yang terkait dengan cakupan klien. | | |
Tambahkan serangkaian peran tingkat ranah ke cakupan klien | | |
Dapatkan peran tingkat ranah yang terkait dengan cakupan klien | | |
Hapus serangkaian peran tingkat ranah dari cakupan klien | | |
Dapatkan peran tingkat ranah yang tersedia untuk dilampirkan ke cakupan klien ini | | |
Dapatkan peran tingkat ranah efektif yang terkait dengan cakupan klien. Apa yang dilakukan adalah mengulangi peran komposit apa pun yang terkait dengan cakupan klien dan menambahkan peran tersebut ke daftar ini. | | |
Penyedia Penyimpanan Pengguna
API | Nama Fungsi | Didukung |
---|
Perlu ini agar konsol admin menampilkan nama sederhana penyedia saat menampilkan detail klien KEYCLOAK-4328 | | |
Perlu ini agar konsol admin menampilkan nama sederhana penyedia saat menampilkan detail pengguna KEYCLOAK-4328 | | |
Hapus pengguna yang diimpor | | |
Memicu sinkronisasi pengguna Tindakan dapat berupa "triggerFullSync" atau "triggerChangedUsersSync" | | |
Batalkan tautan pengguna yang diimpor dari penyedia penyimpanan | | |
Pemicu sinkronisasi data mapper terkait dengan ldap mapper (peran, grup,…) arahnya adalah "fedToKeycloak" atau "keycloakToFed" | | |
Pengguna
API | Nama Fungsi | Didukung |
---|
Buat pengguna baru Nama pengguna harus unik. | buatPengguna | ✔️ |
Dapatkan pengguna Mengembalikan daftar pengguna, yang difilter menurut parameter kueri | dapatkanPengguna | ✔️ |
DAPATKAN /{realm}/pengguna/hitungan | dapatkan Jumlah Pengguna | ✔️ |
Dapatkan representasi pengguna | dapatkanPengguna | ️️️ ✔️ |
Perbarui pengguna | perbaruiPengguna | ️️️ ✔️ |
Hapus pengguna | hapusPengguna | ️️️ ✔️ |
Dapatkan persetujuan yang diberikan oleh pengguna | | ️️️ |
Cabut persetujuan dan token offline untuk klien tertentu dari pengguna | | |
Nonaktifkan semua kredensial untuk pengguna tipe tertentu | | |
Kirim email pembaruan akun ke pengguna Email berisi tautan yang dapat diklik pengguna untuk melakukan serangkaian tindakan yang diperlukan. | mengeksekusiActionsEmail | ✔️ |
Dapatkan login sosial yang terkait dengan pengguna | | ✔️ |
Tambahkan penyedia login sosial ke pengguna | | ✔️ |
Hapus penyedia login sosial dari pengguna | | ✔️ |
DAPATKAN /{realm}/users/{id}/groups | dapatkan Grup Pengguna | ✔️ |
DAPATKAN /{realm}/users/{id}/groups/count | dapatkanUserGroupsCount | ✔️ |
PUT /{realm}/users/{id}/groups/{groupId} | tambahkanPenggunaToGroup | ✔️ |
HAPUS /{realm}/users/{id}/groups/{groupId} | hapusUserFromGroup | ✔️ |
Meniru identitas pengguna | meniru Pengguna | ✔️ |
Hapus semua sesi pengguna yang terkait dengan pengguna. Kirim juga pemberitahuan ke semua klien yang memiliki URL admin untuk membatalkan sesi untuk pengguna tertentu. | logoutUser | ✔️ |
Dapatkan sesi offline yang terkait dengan pengguna dan klien | | |
Hapus TOTP dari pengguna | | |
Siapkan kata sandi baru untuk pengguna. | setel ulang Kata Sandi Pengguna | ✔️ |
Kirim email verifikasi email ke pengguna Sebuah email berisi tautan yang dapat diklik pengguna untuk memverifikasi alamat emailnya. | kirimVerifikasiEmail | ✔️ |
Dapatkan sesi yang terkait dengan pengguna | dapatkanSesi Pengguna | ✔️ |
Dapatkan kredensial yang terkait dengan pengguna | dapatkan Kredensial Pengguna | ✔️ |
Hapus kredensial yang terkait dengan pengguna | hapus Kredensial Pengguna | ✔️ |
Akar
API | Nama Fungsi | Didukung |
---|
Dapatkan tema, penyedia sosial, penyedia autentikasi, dan pendengar acara yang tersedia di server ini | | |
Pra-penerbangan CORS | | |