我一直在浏览Keycloak文档,但是看不到该怎么做。使用Java,我想输入一个有效的用户名和密码,然后生成一个令牌。我怎样才能做到这一点?
答案 0 :(得分:4)
-编辑2018-08-31-
您可以使用Authorization Client Java API。创建AuthzClient对象后,可以将用户名和密码传递给AuthzClient#authorization(username, password)或AuthzClient#obtainAccessToken(username, password)方法,以验证用户身份并获取访问令牌(和/或ID令牌):
// 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,您可以在其中执行非常灵活的身份验证和授权政策。