org.apache.storm.security.auth.workertoken

## Class WorkerTokenClientCallbackHandler

- java.lang.Object
- - org.apache.storm.security.auth.sasl.SimpleSaslClientCallbackHandler
  - - org.apache.storm.security.auth.workertoken.WorkerTokenClientCallbackHandler

- All Implemented Interfaces:
    CallbackHandler

      public class WorkerTokenClientCallbackHandler
      extends SimpleSaslClientCallbackHandler

  A Client callback handler for a WorkerToken. In general a client that wants to support worker tokens should first check if a WorkerToken is available for the specific connection type by calling findWorkerTokenInSubject. If that returns a token, then proceed to create and use this with a DIGEST-MD5 SaslClient. If not you should fall back to whatever other client auth you want to do.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `WorkerTokenClientCallbackHandler(WorkerToken token)` Constructor.

  - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static WorkerToken` | `findWorkerTokenInSubject(ThriftConnectionType type)` Look in the current subject for a WorkerToken.

    - ### Methods inherited from class org.apache.storm.security.auth.sasl.SimpleSaslClientCallbackHandler

      `handle`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### WorkerTokenClientCallbackHandler

          public WorkerTokenClientCallbackHandler(WorkerToken token)

      Constructor.

      Parameters:
        `token` - the token to use to authenticate. This was probably retrieved by calling findWorkerTokenInSubject.

  - ### Method Detail

    - #### findWorkerTokenInSubject

          public static WorkerToken findWorkerTokenInSubject(ThriftConnectionType type)

      Look in the current subject for a WorkerToken. This should really only happen when we are in a worker, because the tokens will not be placed in anything else.

      Parameters:
        `type` - the type of connection we need a token for.
      Returns:
        the found token or null.

Copyright © 2021 The Apache Software Foundation. All rights reserved.