Class EventSubVerifier

java.lang.Object
com.github.twitch4j.eventsub.util.EventSubVerifier

public final class EventSubVerifier
extends java.lang.Object
  • Field Summary

    Fields
    Modifier and Type Field Description
    static java.lang.String JAVA_HMAC_ALGORITHM
    Java algorithm name that corresponds to SIGNATURE_HASH_PREFIX
  • Method Summary

    Modifier and Type Method Description
    static boolean verifyMessageId​(java.lang.String messageId)  
    static boolean verifySignature​(byte[] secret, java.lang.String messageId, java.lang.String messageTimestamp, byte[] requestBody, java.lang.String expectedSignature)  
    static boolean verifySignature​(java.lang.String secret, java.lang.String messageId, java.lang.String messageTimestamp, byte[] requestBody, java.lang.String expectedSignature)  
    static boolean verifySignature​(javax.crypto.spec.SecretKeySpec secret, java.lang.String messageId, java.lang.String messageTimestamp, byte[] requestBody, java.lang.String expectedSignature)  
    static boolean verifyTimestamp​(java.lang.String messageTimestamp)  

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • JAVA_HMAC_ALGORITHM

      public static final java.lang.String JAVA_HMAC_ALGORITHM
      Java algorithm name that corresponds to SIGNATURE_HASH_PREFIX
      See Also:
      Constant Field Values
  • Method Details

    • verifyMessageId

      public static boolean verifyMessageId​(java.lang.String messageId)
      Parameters:
      messageId - Twitch-Eventsub-Message-Id
      Returns:
      whether the message id has not been observed recently
    • verifyTimestamp

      public static boolean verifyTimestamp​(java.lang.String messageTimestamp)
      Parameters:
      messageTimestamp - Twitch-Eventsub-Message-Timestamp
      Returns:
      whether the event occurred recently
    • verifySignature

      public static boolean verifySignature​(javax.crypto.spec.SecretKeySpec secret, java.lang.String messageId, java.lang.String messageTimestamp, byte[] requestBody, java.lang.String expectedSignature)
      Parameters:
      secret - The subscription secret.
      messageId - Twitch-Eventsub-Message-Id
      messageTimestamp - Twitch-Eventsub-Message-Timestamp
      requestBody - The raw bytes of the request body.
      expectedSignature - Twitch-Eventsub-Message-Signature
      Returns:
      whether the signature indicates an authentic event
    • verifySignature

      public static boolean verifySignature​(byte[] secret, java.lang.String messageId, java.lang.String messageTimestamp, byte[] requestBody, java.lang.String expectedSignature)
      See Also:
      verifySignature(SecretKeySpec, String, String, byte[], String)
    • verifySignature

      public static boolean verifySignature​(java.lang.String secret, java.lang.String messageId, java.lang.String messageTimestamp, byte[] requestBody, java.lang.String expectedSignature)
      See Also:
      verifySignature(SecretKeySpec, String, String, byte[], String)