code: public void refreshSignature () {
      if (postStartTimestamp == 0 || (System.nanoTime() - postStartTimestamp) > Duration.ofMinutes(sigExpireInMinute).toNanos()) {
        // generate signature
        try {
          signature = SharedAccessSignatureTokenProvider
              .generateSharedAccessSignature(sasKeyName, sasKey, namespaceName, Duration.ofMinutes(sigExpireInMinute));
          postStartTimestamp = System.nanoTime();
          LOG.info ("Signature is refreshing: " + signature);
        } catch (Exception e) {
          throw new RuntimeException(e);
        }
      }
    }
docs: A signature which contains the duration.
  After the duration is expired, the signature becomes invalid