def _decode_token_compact(token):
    """
    Decode a compact-serialized JWT
    Returns {'header': ..., 'payload': ..., 'signature': ...}
    """
    header, payload, raw_signature, signing_input = _unpack_token_compact(token)
    token = { 
        "header": header,
        "payload": payload,
        "signature": base64url_encode(raw_signature)
    }
    return token