アプリケーションに Spring を使用して OAuth2 用の API の作成に取り組んでいますが、仕様 ( https://www.rfc-editor.org/rfc/rfc6749 ) にも Spring OAuth2 ドキュメントにも、クライアント シークレットの生成方法については何も書かれていません。
誰にもアイデアはありますか?
アプリケーションに Spring を使用して OAuth2 用の API の作成に取り組んでいますが、仕様 ( https://www.rfc-editor.org/rfc/rfc6749 ) にも Spring OAuth2 ドキュメントにも、クライアント シークレットの生成方法については何も書かれていません。
誰にもアイデアはありますか?
Spring は、クライアント シークレットのデコード/エンコードにPasswordEncoderを使用します。JdbcClientDetailsServiceを参照してください(クライアントの詳細を DB に保存する予定の場合)。
そのため、Spring OAuth2 の Bean を構成するときは、通常、ClientDetailsServiceにPasswordEncoderのインスタンスを提供します。
典型的なケースはBCryptPasswordEncoderを使用することです。したがって、エンコードされたクライアント シークレットをデータベース列に配置する前に、それを生成するサンプル プログラムを作成できます。
String password = "testPassword";
PasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String encodedPassword = passwordEncoder.encode(password);