Dockerで最新のkeycloakイメージを使用しており、標準管理コンソールに http:// localhost:908 でアクセスできます。しかし、私は documentation for Admin REST apiで指定されているパスにアクセスできないようです。たとえば、ベースパス/ authおよびResourceGetは、レルムに属するクライアントのリストを返します:/ {realm}/clients404を取得しています。 documentation の他のメソッドの場合も同様です。有効な200 json応答を返す唯一のパスはです。 http:// localhost:9080/auth/realms / {realm-name} /ドキュメントによると、ベースパス+ "/ {realm-name}"で到達可能です。何か不足している、または間違ったベースパスでアクセスしようとしています。Dockerのキークロークバージョンは3.4.3.Finalで、ドキュメントによると最新バージョンのキークロークです。
私はあなたがこのようにエンドポイントを呼び出そうとしているとほぼ確信しています:
ただし、この部分を見逃しました/auth/admin/realms
最初に述べたように、最初に電話を承認することを忘れないでください ここ
[〜#〜]更新[〜#〜]
結果を確認するための手順は次のとおりです。
$ docker run -d -e KEYCLOAK_USER=admin -e KEYCLOAK_PASSWORD=admin jboss/keycloak
access_token
を取得しています:
$ curl -X POST \
-H 'Content-Type: application/x-www-form-urlencoded' \
-d 'username=admin&password=admin&client_id=admin-cli&grant_type=password' \
http://localhost:9080/auth/realms/master/protocol/openid-connect/token
取得したaccess_token
をコピーしてAuthorization
ヘッダーに貼り付けます。
$ curl -X GET \
-H 'Authorization: Bearer <access_token_goes_here>' \
http://localhost:9080/auth/admin/realms/master/clients