web-dev-qa-db-ja.com

javaのKeycloakを使用してプログラムでユーザーを認証

Keycloakのドキュメントを調べていましたが、その方法がわかりません。 Javaでは、有効なユーザーIDとパスワードを取得して、トークンを生成します。これどうやってするの?

9
user840930

--EDIT 2018-08-31--

Authorization Client Java API を使用できます。AuthzClientオブジェクトを作成したら、ユーザー名とパスワードを AuthzClient#authorization(ユーザー名、パスワード) または 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にリダイレクトされ、非常に柔軟な認証および承認ポリシーを適用できます)。

5