Keycloak の Admin-cli、便利ですよね。
でも2FA(TOTP)認証を有効にしている場合呼べないんじゃない?と思ってちょっと調べてみましたのでメモ

2FAが有効になっている場合の呼び出し方

以下のようにするとTOTP が有効になっていてもadmin-cliを呼ぶことができました

1
2
3
4
5
6
7
$ curl -k
-d "client_id=admin-cli"
-d "username=<username>"
-d "password=<password>"
-d "totp=<one time token>"
-d "grant_type=password"
http://localhost:8080/auth/realms/master/protocol/openid-connect/token

注意

username, password は URLエンコードしないとだめです。
(結構はまった)

資料

https://www.keycloak.org/docs-api/5.0/rest-api/index.html https://ultimatesecurity.pro/post/2fa-api/