def _check_authentication(self, request, request_args, request_kwargs):
try:<EOL><INDENT>is_valid, status, reasons = self._verify(<EOL>request,<EOL>request_args=request_args,<EOL>request_kwargs=request_kwargs,<EOL>)<EOL><DEDENT>except Exception as e:<EOL><INDENT>logger.debug(e.args)<EOL>if self.config.debug():<EOL><INDENT>raise e<EOL><DEDENT>args = e.args if isinstance(e, SanicJWTException) else []<EOL>raise exceptions.Unauthorized(*args)<EOL><DEDENT>return is_valid, status, reasons<EOL>
Checks a request object to determine if that request contains a valid,
and authenticated JWT.

It returns a tuple:
1. Boolean whether the request is authenticated with a valid JWT
2. HTTP status code
3. Reasons (if any) for a potential authentication failure