クラスが導入されました。要素に使用できるさまざまな設定オプションについて説明します。Securityの標準的な依存関係に加えて、https://search.maven.org/classic/#search%7Cga%7C1%7Ca%3A%22spring-security-oauth2-client%も追加する必要があります。2.xによって管理されています。5.x__に対応しています。Bootプロジェクトでは、構成したい各クライアントにいくつかの標準プロパティを追加するだけです。認証プロバイダとしてGoogleとFacebookに登録されているクライアントでログインするためのプロジェクトを設定しましょう。「認証情報」セクションに進んでください。ID」タイプの認証情報を作成します。これにより、GoogleはクライアントIDとシークレットを設定しました。Googleコンソールで認証済みリダイレクトURIを設定する必要があります。これは、ユーザーがGoogleに正常にログインした後にリダイレクトされるパスです。{clientId}に設定します。したがって、Googleの場合はURIを追加します。ファイルにクライアントの認証情報を追加する必要があります。後にクライアント名、クライアントプロパティの名前が続きます。要素を定義するのと同じです。要素と同様に使用されていることがわかります。保護されたURLにアクセスしようとすると、アプリケーションは2つのクライアントで自動生成されたログインページを表示します。SecurityプロジェクトにはGitHubとOktaのデフォルト設定も含まれていることに注意してください。Securityで設定されていない別の認証プロバイダを使用したい場合は、承認URIやトークンURIなどの情報を使用して完全な設定を定義する必要があります。Securityのデフォルト設定。定義する必要があります。メソッドを見てみましょう。enumを使用します。インスタンスはクライアントに対応します。要素に登録する必要があります。メソッドを使用することができます。自動的には生成されなくなるため、カスタムログインページを定義する必要があります。これについては次のセクションで詳しく説明します。ログインプロセスをさらにカスタマイズしていきましょう。メソッドを使用してカスタマイズできる要素がいくつかあります。Bootではこれらすべての要素にデフォルトの設定があり、明示的な設定は必須ではありません。設定でこれらをカスタマイズする方法を見てみましょう。Bootによってデフォルトのログインページが生成されても、通常は独自のカスタマイズページを定義します。loginに設定しました。}}このメソッドは、利用可能なクライアントとその認証エンドポイントのマップをビューに送信する必要があります。Beanから取得します。login.html__ページを定義する必要があります。th:href="${url.value}">Client</a></p>これは各クライアントで認証するためのリンクを表示する簡単なHTMLページです。それにいくつかのスタイルを追加した後、私たちははるかに見栄えの良いログインページを持つことができます。カスタム認証の成功と失敗の動作さまざまな方法を使用して認証後の動作を制御できます。ユーザーをにリダイレクトします。カスタムロジックを実行する認証プロセスに従うユーザーを次のようにリダイレクトするためのカスタムURLの設定方法を見てみましょう。.failureUrl("/loginFailure");ユーザーが認証前に保護されたページにアクセスした場合は、ログイン後にそのページにリダイレクトされます。リダイレクトされます。メソッドを使用できます。メソッドとfailureHandler()メソッドを使用してBeanを設定する必要があります。Securityが外部サーバーへの承認要求をトリガーするために使用するエンドポイントです。Beanも明示的に設定します。HttpSessionOAuth2AuthorizationRequestRepository();}この例では、Springが提供する実装をBeanに使用しましたが、カスタムの実装も提供できます。アクセストークンを処理します。明示的に設定しましょう。.accessTokenResponseClient(accessTokenResponseClient());そして、これがレスポンスクライアントBeanです。NimbusAuthorizationCodeTokenResponseClient();}この設定はデフォルトの設定と同じで、認証コードをプロバイダと交換することに基づくSpringの実装を使用しています。カスタムレスポンスクライアントを代用することもできます。カスタムリダイレクトエンドポイントこれは、外部プロバイダーとの認証後にリダイレクトするエンドポイントです。変更する方法を見てみましょう。.baseUri("/oauth2/redirect")デフォルトのURIは__login/oauth2/clientです。プロパティも更新し、新しいURIを各クライアントの承認されたリダイレクトURIとして追加する必要があります。カスタムユーザー情報エンドポイントユーザー情報エンドポイントは、ユーザー情報を取得するために利用できる場所です。メソッドを使ってカスタマイズできます。メソッドを使用して、ユーザー情報の取得方法を変更します。ユーザー情報へのアクセス私たちが達成したいと思うかもしれない一般的なタスクはログインしているユーザーについての情報を見つけることです。このために、ユーザー情報エンドポイントに要求を出すことができます。現在のユーザートークンに対応するクライアントを取得する必要があります。ビューにユーザーへのウェルカムメッセージとして表示できます。__picture、localeなどのプロパティも含まれています。要素を使用して、GoogleやFacebookなどのさまざまなプロバイダと認証する方法を説明しました。このプロセスをカスタマイズする一般的なシナリオもいくつか経験しました。例の完全なソースコードはhttps://github.com/eugenp/tutorials/tree/master/spring-5-security-oauth[GitHubについて]で見つけることができます。