def METHOD_NAME(self, raw_token):
    """
    Validates an encoded JSON web token and returns a validated token
    wrapper object.
    """
    messages = []
    for AuthToken in api_settings.AUTH_TOKEN_CLASSES:
        try:
            return AuthToken(raw_token)
        except TokenError as e:
            messages.append({'token_class': AuthToken.__name__,
                             'token_type': AuthToken.token_type,
                             'message': e.args[0]})
    raise InvalidToken({
        'detail': _('Given token not valid for any token type'),
        'messages': messages,
    })