問題タブ [keycloak-rest-api]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
keycloak - Keycloak - 登録フォームからユーザーをグループに割り当てる
ユーザーを作成し、チームのドロップダウン選択に応じてグループに割り当てるカスタム登録フォームをKeycloakで作成しようとしています。これが私の問題の例です。
キークロークを使用する複数のチームがあり、各チームはキークロークに独自のグループを持ち、アクセスする必要があるすべてのロールをマッピングします。キークローク認証を使用するアプリの 1 つに Grafana があります。ユーザーが Grafana に移動し、キークロークを介して新しいアカウントを登録しようとすると、ユーザーが作成されますが、ユーザーがグループに割り当てられていないため、権限がないため、Grafana のエラー ページが表示されます。 .
何百人ものユーザーを登録後にグループに割り当てるための手作業の量を制限しようとしています。LDAP または Active Directory にアクセスできません。
カスタム register.ftl テンプレートで試した例を次に示します。
グループをユーザー属性として正常に追加できた後、残りの API を使用してグループを割り当てるスクリプトを実行できると考えましたが、それもうまくいきませんでした。一部のグループは、使用するすべてのアプリを表示できる必要がないため、全員をデフォルトの「表示のみ」グループに割り当てることは避けたいと思います。
誰かがアイデアを持っているか、正しい方向に私を向けるのを助けることができるなら、私に知らせてください. 私はHTMLとJavascriptの知識が限られていますが、Pythonの使い方は知っています。
keycloak - Keycloak Admin REST-API 同期フェデレーション マッパー
LDAPユーザーフェデレーションでKeycloak 9.0.3を使用しており、編集モード=書き込み可能、ユーザーのインポート=オンです。LDAPでユーザーとグループを作成、更新、削除するためにKeycloak REST APIを呼び出す必要があるSpring Bootアプリケーションを開発しています。また、ユーザー フェデレーションに「group-ldap-mapper」を作成して、LDAP グループを Keycloak グループに、またはその逆にマッピングしました。
私の要件は、REST API を介して Keycloak グループを作成および削除することであり、上記のマッパーを使用して LDAP のグループにマップされます。アプリケーションがPOST /{realm}/groupsを呼び出すと、Keycloak は Keycloak-DB にグループを作成するだけで、グループがユーザーに割り当てられない限り LDAP と同期しません。これは実際には大きな問題ではありません。本当の問題は、私のアプリケーションがDELETE /{realm}/groups/{id}を介してグループを削除するときです。グループは Keycloak-DB から削除されますが、LDAP からは削除されません。許容できる回避策は、POST /{realm}/user-storage/{parentId}/mappers/{id}/syncを呼び出してグループを同期し、ジョブを実行することです。
この回避策の問題は、Spring アプリケーションでハードコーディングする以外にフェデレーション マッパー ID ({id}) を取得する方法がないことです。この ID をプログラムで取得するための REST 呼び出しはありません。
これを解決する方法はありますか?