クラス ReactiveLifecycleAwareSessionManager
java.lang.ObjectSE
org.springframework.vault.authentication.AuthenticationEventPublisher
org.springframework.vault.authentication.LifecycleAwareSessionManagerSupport
org.springframework.vault.authentication.ReactiveLifecycleAwareSessionManager
- 実装済みのインターフェース一覧:
DisposableBean、AuthenticationEventMulticaster、ReactiveSessionManager、VaultTokenSupplier
public class ReactiveLifecycleAwareSessionManager
extends LifecycleAwareSessionManagerSupport
implements ReactiveSessionManager, DisposableBean
ライフサイクルを意識した
session manager のリアクティブ実装。この ReactiveSessionManager は、request で authentication method からトークンを取得し、複数のスレッドが同時にトークンを取得しようとした場合にトークンが 1 回だけ取得されることを保証します。 トークンにリース期間がある場合、トークンは非同期的に更新されます。これは、トークンの有効期限が切れる 5 秒前に発生します。LifecycleAwareSessionManagerSupport.REFRESH_PERIOD_BEFORE_EXPIRY を参照してください。
この ReactiveSessionManager は、LoginToken が不要になったときにそれを取り消すための DisposableBean も実装します。トークンが失効すると、定期的なトークンのリフレッシュが停止されます。トークンは、関連付けられた VaultTokenSupplier が service token を返した場合にのみ取り消されます。
トークンの更新でクライアント側のエラーが発生した場合、トークンが取り消されたか期限切れになったと見なされます。トークンの状態を破棄するため、次の試行で別のログイン試行が行われます。
デフォルトでは、VaultToken は Vault で検索され、更新可能性、残りの TTL、アクセサー、型が決定されます。LifecycleAwareSessionManagerSupport.setTokenSelfLookupEnabled(boolean) を参照してください。
セッションマネージャーは、認証イベントを AuthenticationListener および AuthenticationErrorListener にディスパッチします。
このクラスはスレッドセーフであり、ロックのない同期を使用します。
- 導入:
- 2.0
- 作成者:
- Mark Paluch
- 関連事項:
ネストされたクラスの概要
ネストされたクラスクラス org.springframework.vault.authentication.LifecycleAwareSessionManagerSupport から継承されたネストクラス / インターフェース
LifecycleAwareSessionManagerSupport.FixedTimeoutRefreshTrigger, LifecycleAwareSessionManagerSupport.OneShotTrigger, LifecycleAwareSessionManagerSupport.RefreshTriggerフィールド概要
クラス org.springframework.vault.authentication.LifecycleAwareSessionManagerSupport から継承されたフィールド
logger, REFRESH_PERIOD_BEFORE_EXPIRYコンストラクター概要
コンストラクターコンストラクター説明ReactiveLifecycleAwareSessionManager(VaultTokenSupplier clientAuthentication, TaskScheduler taskScheduler, WebClient webClient) ReactiveLifecycleAwareSessionManager(VaultTokenSupplier clientAuthentication, TaskScheduler taskScheduler, WebClient webClient, LifecycleAwareSessionManagerSupport.RefreshTrigger refreshTrigger) 方法の概要
修飾子と型メソッド説明voiddestroy()VaultTokenを返します。protected booleanisTokenRenewable(VaultToken token) トークンのリフレッシュを実行します。revoke()現在のVaultTokenを取り消して削除します。revoke(VaultToken token) VaultTokenを取り消します。void現在のVaultTokenを今すぐ取り消して削除してください。protected void今すぐVaultTokenを取り消し、取り消しが完了するまで実行をブロックします。クラス org.springframework.vault.authentication.LifecycleAwareSessionManagerSupport から継承されたメソッド
getRefreshTrigger, getTaskScheduler, isExpired, isTokenSelfLookupEnabled, setLeaseStrategy, setTokenSelfLookupEnabledクラス org.springframework.vault.authentication.AuthenticationEventPublisher から継承されたメソッド
addAuthenticationListener, addErrorListener, multicastEvent, multicastEvent, removeAuthenticationListener, removeErrorListenerクラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSEインターフェース org.springframework.vault.authentication.ReactiveSessionManager から継承されたメソッド
getSessionToken
コンストラクターの詳細
ReactiveLifecycleAwareSessionManager
public ReactiveLifecycleAwareSessionManager(VaultTokenSupplier clientAuthentication, TaskScheduler taskScheduler, WebClient webClient) - パラメーター:
clientAuthentication- null であってはなりません。taskScheduler- null であってはなりません。webClient- null であってはなりません。
ReactiveLifecycleAwareSessionManager
public ReactiveLifecycleAwareSessionManager(VaultTokenSupplier clientAuthentication, TaskScheduler taskScheduler, WebClient webClient, LifecycleAwareSessionManagerSupport.RefreshTrigger refreshTrigger) - パラメーター:
clientAuthentication- null であってはなりません。taskScheduler- null であってはなりません。webClient- null であってはなりません。refreshTrigger- null であってはなりません。
メソッドの詳細
destroy
public void destroy()- 次で指定:
- インターフェース
DisposableBeanのdestroy
revoke
現在のVaultTokenを取り消して削除します。- 戻り値:
- 取り消しが成功すると、mono が完了を出力します。
- 導入:
- 3.0.2
revokeNow
public void revokeNow()現在のVaultTokenを今すぐ取り消して削除してください。- 導入:
- 3.0.2
revokeNow
今すぐVaultTokenを取り消し、取り消しが完了するまで実行をブロックします。- パラメーター:
tokenMono-
doRevoke
revoke
VaultTokenを取り消します。- パラメーター:
token- 取り消すトークン。null であってはなりません。
renewToken
トークンのリフレッシュを実行します。以前にトークンを取得していない場合は、新しいトークンを作成します。トークンが以前に取得された場合、自己リフレッシュを使用して現在のトークンをリフレッシュします。クライアント側のエラー (許可が拒否されたなど) は、トークンが期限切れであるか単に見つからないためにリフレッシュできないことを示します。- 戻り値:
- リフレッシュが成功した場合、または新しいトークンが取得された場合は
VaultToken。新しいトークンの有効期限が切れた場合はMono.empty()、リフレッシュに失敗した場合はMono.error(Throwable)。
getVaultToken
インターフェースからコピーされた説明:VaultTokenSupplierVaultTokenを返します。これにより、tokenを取得するための Vault ログインフローを宣言できます。- 次で指定:
- インターフェース
VaultTokenSupplierのgetVaultToken - 戻り値:
VaultTokenを使用したMono。- 例外:
VaultException
isTokenRenewable
- 戻り値:
- トークンが更新可能な場合は true。