public class WorkerTokenManager extends Object
The WorkerTokenManager manages the life cycle of worker tokens in nimbus.
Constructor and Description |
---|
WorkerTokenManager(Map<String,Object> daemonConf,
IStormClusterState state)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
WorkerToken |
createOrUpdateTokenFor(WorkerTokenServiceType serviceType,
String user,
String topologyId)
Create or update an existing key.
|
protected SecretKey |
generateSecret()
Generate a new random secret key.
|
protected SecretKey |
getCurrentSecret()
Get the secret that should be used to sign a token.
|
boolean |
shouldRenewWorkerToken(Map<String,String> creds,
WorkerTokenServiceType type) |
void |
upsertWorkerTokensInCredsForTopo(Map<String,String> creds,
String user,
String topologyId)
Create or renew WorkerToken credentials for a topology.
|
public WorkerTokenManager(Map<String,Object> daemonConf, IStormClusterState state)
Constructor. This assumes that state can store the tokens securely, and that they should be enabled at all. Please use ClientAuthUtils.areWorkerTokensEnabledServer to validate this first.
daemonConf
- the config for nimbus.state
- the state used to store private keys.protected SecretKey generateSecret()
Generate a new random secret key.
protected SecretKey getCurrentSecret()
Get the secret that should be used to sign a token. This may either reuse a secret or generate a new one so any user should call this once and save the result.
public WorkerToken createOrUpdateTokenFor(WorkerTokenServiceType serviceType, String user, String topologyId)
Create or update an existing key.
serviceType
- the type of service to create a token foruser
- the user the token is fortopologyId
- the topology the token is forpublic void upsertWorkerTokensInCredsForTopo(Map<String,String> creds, String user, String topologyId)
Create or renew WorkerToken credentials for a topology.
creds
- the map of credentials for.user
- the user the credentials are fortopologyId
- the topology the credentials are forpublic boolean shouldRenewWorkerToken(Map<String,String> creds, WorkerTokenServiceType type)
Copyright © 2019 The Apache Software Foundation. All rights reserved.