2016-10-30 16 views
1

Keycloakの「reset-password」REST APIで使用されるCredentialRepresentationには、ハッシュアルゴリズム、ハッシュされたパスワード、ハッシュ反復などのフィールドが含まれます。 これは、サービスにプレーンテキストのパスワードを渡すのではなく、すべてのハッシング仕様を使用します。プレーンテキストのパスワードを渡すのが正しいとは思わないので、これはまさに私がやりたいことです。Keycloakは、REST APIを介してハッシュでユーザーのパスワードをリセットします。

ただし、プレーンテキスト値を指定しないでサービスを呼び出そうとすると、プレーンテキスト値が存在しないというエラーメッセージが表示され、400エラーが発生します。ハッシュされたパスワードだけを渡す方法はありますか?

答えて

2

平文パスワードを(もちろんHTTPS経由で)渡すことで、keycloakは領域のハッシュアルゴリズムポリシーを使ってハッシュすることができます。

ハッシュされたパスワード値、反復およびアルゴリズムを渡す場合は、PasswordHashProviderFactoryおよびPasswordHashProviderを実装するハッシングSPIも提供する必要があります。私はこれがリセットパスワードAPIを介して利用できるとは思わないが、Update User API(これはテストしていない)で動作します。

手動で新しいパスワードを指定するのではなく、"UPDATE_PASSWORD"を使用してPUT /admin/realms/{realm}/users/{id}/execute-actions-email管理者コールを使用することをお勧めします。これにより、Keycloakはユーザに新しいパスワードを直接設定するためのリンクを提供する電子メールを送信します。

関連する問題