He estado buscando a través de la documentación Keycloak pero no puedo ver cómo se hace esto. Con Java, me gustaría tener un ID de usuario y una contraseña válidos y luego generar un token. ¿Cómo puedo hacer esto?
--edit 2018-08-31--
Puede utilizar la API de autorización de cliente de Java . Una vez que haya creado un objeto AuthzClient, puede pasar el nombre de usuario y contraseña para el AuthzClient # autorización (nombre de usuario, contraseña) o AuthzClient # obtainAccessToken (nombre de usuario, contraseña) método para autenticar al usuario y obtener el token de acceso (y el token / o ID en el primer caso):
// create a new instance based on the configuration defined in keycloak-authz.json
AuthzClient authzClient = AuthzClient.create();
// send the authorization request to the server in order to
// obtain an access token granted to the user
AccessTokenResponse response = authzClient.obtainAccessToken("alice", "alice");
En una nota lateral, si es posible, prefiere reutilización uno de los Java adaptadores Keycloak para cubrir más funciones, como otros métodos de autenticación (el usuario es redirigido a Keycloack normalmente IUF donde se puede hacer cumplir las políticas de autenticación y autorización muy flexibles).