我一直在查看 Keycloak 文档,但看不到如何执行此操作。使用 Java,我想获取一个有效的用户 ID 和密码,然后生成一个 token 。我怎样才能做到这一点?
最佳答案
--编辑 2018-08-31--
您可以使用 Authorization Client Java API .创建 AuthzClient 对象后,您可以将用户名和密码传递给 AuthzClient#authorization(username, password)或 AuthzClient#obtainAccessToken(username, password)验证用户并获取访问 token (和/或第一种情况下的 ID token )的方法:
// 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");
附带说明一下,如果可能的话,您宁愿重复使用 Keycloak Java Adapters 中的一个。以涵盖更多功能,例如其他身份验证方法(用户通常会被重定向到 Keycloack WUI,您可以在其中实现非常灵活的身份验证和授权策略)。
关于java - 在 Java 中使用 Keycloak 以编程方式对用户进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52085735/