satoken对接dubbo,SameTokenInvalidException序列化问题
- Dominant language
- Java
- Stars
- 19k
- Forks
- 2.9k
- PR merge metrics
- No merged PRs in 30d
Description
### 使用版本:
1.44.0
### 报错信息:
Caused by: java.io.IOException: org.apache.dubbo.common.serialize.SerializationException: java.lang.IllegalArgumentException: [Serialization Security] Serialized class cn.dev33.satoken.exception.SameTokenInvalidException is not in allow list. Current mode is `STRICT`, will disallow to deserialize it by default. Please add it into security/serialize.allowlist or follow FAQ to configure it.
at org.apache.dubbo.common.serialize.DefaultSerializationExceptionWrapper.handleToIOException(DefaultSerializationExceptionWrapper.java:353)
at org.apache.dubbo.common.serialize.DefaultSerializationExceptionWrapper.access$000(DefaultSerializationExceptionWrapper.java:27)
at org.apache.dubbo.common.serialize.DefaultSerializationExceptionWrapper$ProxyObjectOutput.writeObject(DefaultSerializationExceptionWrapper.java:319)
at org.apache.dubbo.common.serialize.DefaultMultipleSerialization.serialize(DefaultMultipleSerialization.java:34)
at org.apache.dubbo.rpc.protocol.tri.ReflectionPackableMethod$WrapResponsePack.pack(ReflectionPackableMethod.java:320)
at org.apache.dubbo.rpc.model.PackableMethod.packResponse(PackableMethod.java:46)
at org.apache.dubbo.rpc.protocol.tri.h12.grpc.GrpcCompositeCodec.encode(GrpcCompositeCodec.java:87)
... 21 common frames omitted
Caused by: org.apache.dubbo.common.serialize.SerializationException: java.lang.IllegalArgumentException: [Serialization Security] Serialized class cn.dev33.satoken.exception.SameTokenInvalidException is not in allow list. Current mode is `STRICT`, will disallow to deserialize it by default. Please add it into security/serialize.allowlist or follow FAQ to configure it.
... 28 common frames omitted
### 希望结果:
抛出SameTokenInvalidException而不是SerializationException。
看起来像是SameTokenInvalidException没有序列化且不在 allow list里,被拦掉了。
### 复现步骤:
正常集成satoken-dubbo3的流程,开启same-token校验。consumer随便填sametoken,provider正常校验(故意校验失败)。
< 备注:如果复现步骤比较复杂,请将 demo 上传到 gitee 并留下地址 >
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reproducing the satoken-dubbo3 integration with same-token validation enabled and an invalid consumer token. Inspect how SameTokenInvalidException is handled across the provider-consumer serialization path. Done means the consumer receives SameTokenInvalidException rather than Dubbo SerializationException, with coverage for the reported failure.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- api, backend, distributed-systems
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100