...
class DelegationTokenResponse(owner: KafkaPrincipal, expiryTimeMillisexpiryTimeMillis: long, renewer: Set[KafkaPrincipal], maxLifeTime: long, tokenId: String, hmac: byte[])
renewDelegationToken(request: RenewDelegationTokenRequest): DelegationTokenResponseRenewTokenResponse
class RenewDelegationTokenRequest(hmac: byte[], expiryTimeMillis: long)
expireToken(request: ExpireTokenRequest): ExpireTokenResponse
class ExpireTokenRequest(hmac: byte[], expireAt: long = Systemtime.currentTimeMillis)
describeToken(request: DescribeTokenRequest): DescribeTokenRespopnse
class DescribeTokenRequest(owner: Set[KafkaPrincipal] )
Protocol changes
DelegationTokenRequest
...
Code Block | ||||
---|---|---|---|---|
| ||||
public class DelegationTokenClient { public TokenDetails generateToken(List<String> renewers, long maxLifeTime); public boolean renewToken(bytes[] hmac, long renewPeriod); public boolean expireToken(bytes[] hmac, long expireTimeStamp); public boolean invalidateToken(bytes[] hmac); public List<TokenDetails> describeTokens(); public void close(); } |
Command line tool
We will provide a CLI commandline script to acquire delegation tokens, renew tokens and to , invalidate/expire and to describe tokens.
bin/kafka-delegation-token.sh --bootstrap-server broker1:9092 --create --renewer renewer1,renewer2 --max-life-time 1486750745585
bin/kafka-delegation-token.sh --bootstrap-server broker1:9092 --renew --hmac hmacString --renew-time-period 50745585
bin/kafka-delegation-token.sh --bootstrap-server broker1:9092 --expire --hmac hmacString --expiry-time-period 50745585
bin/kafka-delegation-token.sh --bootstrap-server broker1:9092 --describe --owner owner1,owner2
Changes to Java Clients (producer/consumer)
...