0
私のアプリケーションは、ログインする必要のあるカスタムトークンを取得します。 トークンが有効かどうかを確認するカスタムアプリケーションコードがあります。ユーザーとパスワードなしでスプリングセキュリティ認証トークンを手動で作成する
例えば
public class CustomAuthenticationTokenProvider implements AuthenticationProvider {
public Authentication authenticate(final Authentication authentication) throws AuthenticationException {
// logic for validating the token. This gives a validated authentication
...
...
//Here first argument to constructor is principal and 2nd argument is //credentials.
CustomAuthenticationToken customAuthenticationToken = new CustomAuthenticationToken(authentication.getToken(), null);
return customAuthenticationToken;
}
}
私は上記のテストを持っているし、それが正常に動作します。
クエリ:成功した認証オブジェクトを作成するためには、必ず資格情報が必要ですか。このようなアプローチにはリスクがありますか?
はいtrueです。しかし、この場合、(カスタムコードを使用して)認証するキーを含むリクエストパラメータを取得しています。このリクエストパラメータが有効なユーザである場合にのみ、成功した認証トークンを作成します。 –
このアプローチで深刻な問題がありますか? –