OAuthを使用して、ユーザー認証をサードパーティとカスタム認証サーバーに委任するアプリケーションを作成する方法を説明します。両方を抽出する方法も示します。OAuth2の紹介については、https://www.baeldung.com/spring-security-oauth[these]の記事を参照してください。始めるには、https://search.maven.org/classic/#search%7C1%7Cg%3A%22org.springframework.security.oauth.boot%22%20AND%20a%3A%を追加する必要があります。次に、アプリケーションのセキュリティ設定を作成しましょう。エンドポイントにアクセスでき、他のすべてのエンドポイントではユーザー認証が必要になるということです。いうアノテーションを付け、アプリケーションをOAuthクライアントに変換し、それがそのように動作するために必要なコンポーネントを作成します。Springはデフォルトでほとんどのコンポーネントを作成していますが、それでもいくつかのプロパティを設定する必要があります。security.oauth2.client.client-id=89a7c4facbb3434d599dsecurity.oauth2.client.client-secret=9b3b08e4a340bd20e866787e4645b54f73d74b6asecurity.oauth2.client.access-token-uri=https://github.com/login/oauth/access__tokensecurity.oauth2.client.user-authorization-uri=https://github.com/login/oauth/authorizesecurity.oauth2.client.scope=read:user,user:emailsecurity.oauth2.resource.user-info-uri=https://api.github.com/userユーザーアカウント管理を扱うのではなく、第三者(この場合はGithub)に委任しているので、アプリケーションのロジックに集中することができます。4.主体と権限の抽出OAuthクライアントとして機能し、第三者を通じてユーザーを認証する際には、3つのステップを考慮する必要があります。認証後、ユーザーが許可したとき彼らに代わって特定の操作を実行するための私たちのアプリケーション。自動的に作成できます。それは受け入れられるかもしれませんが、私たちがそれらを完全に制御したいというシナリオに自分自身を見つけることが多いです。Springは、デフォルトの動作を上書きするために使用できる2つのインタフェースを提供します。Githubの認証をカスタマイズする私たちの場合、Githubのユーザーデータがどのように見えるか、そして私たちが自分たちに従ってそれらを調整するために使用できるものを知っていますニーズ。ユーザーのGithubユーザー名を使用します。}}次に、これらのクラスを使ってBeanを作成する必要もあります。カスタム認証サーバを使用するサードパーティに頼るのではなく、ユーザー用に独自の承認サーバーを使用することもできます。AuthoritiesExtractor。認識し、適切であると思うようにそれを使用するだけです。記事に記載されている認証サーバーを使用してユーザーを認証するようにアプリケーションを変更しましょう。security.oauth2.client.client-id=SampleClientIdsecurity.oauth2.client.client-secret=secretsecurity.oauth2.client.access-token-uri=http://localhost:8081/auth/oauth/tokensecurity.oauth2.client.user-authorization-uri=http://localhost:8081/auth/oauth/authorizesecurity.oauth2.resource.user-info-uri=http://localhost:8081/auth/user/me認証サーバーを指定したので、両方の抽出機能を作成する必要があります。データに入れています。そのため、私たちはそれらを抽出し、充実させます。両方をカスタマイズする方法を示しました。Github]にあります。ローカルで実行している場合は、アプリケーションを実行してテストできます。