# AuthenticationException
sealed class AuthenticationException : Exception
A class hierarchy that describes authentication issues.
# Inheritors
| InvalidUserData | 
| InvalidAppLink | 
| InvalidQRCode | 
| InvalidPushNotificationPayload | 
| UserNotFound | 
| InvalidPin | 
| PinCancelled | 
| InvalidAuthenticationSession | 
| UnsuccessfulAuthentication | 
| Revoked | 
| AuthenticationFail | 
# Types
| Name | Summary | 
|---|---|
| AuthenticationFail | class AuthenticationFail(cause: Throwable? = null) : AuthenticationException Authentication failed.  | 
      
| InvalidAppLink | object InvalidAppLink : AuthenticationException Could not find the session identifier in App Link.  | 
      
| InvalidAuthenticationSession | object InvalidAuthenticationSession : AuthenticationException Invalid or expired authentication session.  | 
      
| InvalidPin | object InvalidPin : AuthenticationException Pin code includes invalid symbols or pin length does not match.  | 
      
| InvalidPushNotificationPayload | object InvalidPushNotificationPayload : AuthenticationException Could not find a valid projectID, qrURL, or userID in the push notification payload.  | 
      
| InvalidQRCode | object InvalidQRCode : AuthenticationException Could not find the session identifier in QR URL.  | 
      
| InvalidUserData | object InvalidUserData : AuthenticationException User object passed for authentication is not valid.  | 
      
| PinCancelled | object PinCancelled : AuthenticationException Pin not entered.  | 
      
| Revoked | object Revoked : AuthenticationException The user is revoked because of too many unsuccessful authentication attempts or has not been used in a substantial amount of time. The device needs to be re-registered.  | 
      
| UnsuccessfulAuthentication | object UnsuccessfulAuthentication : AuthenticationException The authentication was not successful.  | 
      
| UserNotFound | object UserNotFound : AuthenticationException There isn’t a registered user for the provided user ID and project in the push notification payload.  | 
      
# Properties
| Name | Summary | 
|---|---|
| cause | open val cause: Throwable?  | 
      
| message | open val message: String?  | 
      
# Functions
| Name | Summary | 
|---|---|
| addSuppressed | fun addSuppressed(p0: Throwable)  | 
      
| fillInStackTrace | open fun fillInStackTrace(): Throwable  | 
      
| getLocalizedMessage | open fun getLocalizedMessage(): String  | 
      
| getStackTrace | open fun getStackTrace(): Array<StackTraceElement>  | 
      
| getSuppressed | fun getSuppressed(): Array<Throwable>  | 
      
| initCause | open fun initCause(p0: Throwable): Throwable  | 
      
| printStackTrace | open fun printStackTrace() open fun printStackTrace(p0: PrintStream) open fun printStackTrace(p0: PrintWriter)  | 
      
| setStackTrace | open fun setStackTrace(p0: Array<StackTraceElement>)  |