Decode a JSON-serialized JWT
    Returns {'header': ..., 'payload': ..., 'signature': ...}

def _decode_token_json(token):
    """
    Decode a JSON-serialized JWT
    Returns {'header': ..., 'payload': ..., 'signature': ...}
    """
    header, payload, raw_signatures, signing_inputs = _unpack_token_json(token)
    token = {
        'header': header,
        'payload': payload,
        'signature': [base64url_encode(rs) for rs in raw_signatures]
    }
    return token