web-dev-qa-db-ja.com

Spring SecurityでのPreAuthenticatedAuthenticationTokenの目的は?

SpringBootで sernamePasswordAuthenticationToken を使用してユーザーを認証しています。

そのユーザーに対して [〜#〜] jjwt [〜#〜] を使用してトークンを生成し、それを返します。

これで、ユーザーはそのトークンを使用して、それ以上のリクエストを私に送信します。トークンを復号化した後、 PreAuthenticatedAuthenticationToken を使用して、それをSecurityContextHolder.getContext().setAuthentication()に設定する必要がありますか?

PreAuthenticatedAuthenticationTokenの目的は何ですか?

12
amitection

PreAuthenticatedAuthenticationTokenの目的は、サードパーティのID管理システムをSpringSecurityを使用してSpringアプリケーションに統合することです。

PreAuthenticatedAuthenticationTokenは、HTTPヘッダー、HTTPパラメーターなどの形式で提供されます。この場合、アプリケーションにユーザー登録全体が存在する必要はありません。このトークンと関連データを保存するだけで十分です。

これについて詳しくは、 Spring Security Documentation を参照してください。

ただし、JWTケースの場合、復号化後にUsernamePasswordAuthenticationTokenを使用することもできます。これは、復号化プロセスによってユーザー名、パスワード、権限が明らかになるためです。

15
shazin