java - 在 Java 中使用 Keycloak 以编程方式对用户进行身份验证

标签 java authentication keycloak

我一直在查看 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/

相关文章:

security - 基于 URL 的身份验证链接

azure - 如何在 Azure 上部署 keycloak docker 容器?

Keycloak:Admin-cli 添加 SMTP 服务器详细信息?

java - 为服务器端设置 gcm

java - 阅读日历日期

java - Arraylist 输出被覆盖

jboss - 如何在 8080 端口上启动 keycloak 2.0?

java - 聊天机器人,最后一部分

php - mysql 检查帐户类型以查看登录时是否为 admin

ios - Swift Google+ 登录 GPPSignIn.sharedInstance().userID 始终等于 nil