したがって、基本認証を使用すると、基本的にユーザーをロードして認証されていることを確認する UserDetailsService の実装を使用することに価値があることがわかります。
ただし、oAuth2 を使用したいと考えていますが、この件に関して私の考えが完全に間違っているかどうかはわかりません。oAuth2 を使用すると、UserDetailsService 実装の必要性がなくなりませんか? 基本的に、認可サーバーはユーザーが存在することを確認して (リソース所有者パスワードフローを使用して)、ユーザーに JWT を送信するサーバーであるためです。
ユーザーがこのアクセス トークンを取得し、すべてのリクエストでそれを送信できるようになったら、ユーザーを AuthenticationManager に認証する別の方法が必要です。これは、労力を複製して UserDetailsService 内で資格情報が正しいことを再度確認するのではなく、 oAuth2 の認証サーバーにはすでに 1 つある)。
この他の方法は何ですか?これを確実に実装するにはどうすればよいでしょうか?
ありがとう。
実際にUserDetailsService
は、彼の権限でユーザー情報を取得するために必要です。これは正常な動作です。ユーザーが認証に合格すると、アクセストークンを受け取り、Spring は認証データを に保存しSecurityContext
ます。ユーザーがトークンを使用して保護されたリソースにリクエストを送信すると、Spring はトークンを検証し、DB またはメモリから SecurityContext 認証データを入力します。それはTokenStore
(jdbc、メモリなど)のタイプに依存します。UserDetailsService
ユーザー認証に 1 回使用する Spring セキュリティ。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加