如果您不想使用 Keycloak UI 也不想创建自己的自定义主题,您可以利用资源所有者密码凭据授予流程。
为此,请创建一个新客户端或使用现有confidential
客户端。确保将Direct Access Grants Enabled
开关切换到 ON。
在此之后从您的客户端(网页、CLI、移动设备)获取令牌。curl
为了简单起见,我在这里使用jq
:
KCHOST=https://yourkeycloak.com
REALM=your-realm
CLIENT_ID=your-confidential-client
CLIENT_SECRET=xxxxxxx-yyyyyyyy-zzzzzzzzz
ACCESS_TOKEN=`curl \
-d "client_id=$CLIENT_ID" -d "client_secret=$CLIENT_SECRET" \
-d "grant_type=client_credentials" \
"$KCHOST/auth/realms/$REALM/protocol/openid-connect/token" | jq -r '.access_token'`
PS 为了调试,我创建了一个名为brauzie的 CLI 工具,它可以帮助您获取和分析您的 JWT 令牌(范围、角色等)。它可用于公共和机密客户。你也可以使用 Postman 和https://jwt.io
HTH :)