Comments (6)
仔细看图:提供方将令牌告之注册中心,由注册中心决定是否告之消费方
from dubbo.
我测试发现只有dubbo协议才支持token认证
from dubbo.
@chenjie901 确实不支持
from dubbo.
这个就尴尬了
from dubbo.
I have run a demo for testing this case.
I used zookeeper as service discovery.
- add token : <dubbo:service interface="org.apache.dubbo.demo.DemoService" ref="demoService" version="1.0.4" token="45678"/>
- remove token from Attachment at org.apache.dubbo.rpc.protocol.dubbo.DubboInvoker#DubboInvoker .
And then it not work, and throw :
org.apache.dubbo.rpc.RpcException: Invalid token! Forbid invoke remote service interface org.apache.dubbo.demo.DemoService method sayHello() from consumer 30.5.125.8 to provider 30.5.125.8
at org.apache.dubbo.rpc.filter.TokenFilter.invoke(TokenFilter.java:46)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)
at org.apache.dubbo.rpc.protocol.dubbo.filter.TraceFilter.invoke(TraceFilter.java:78)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)
at org.apache.dubbo.rpc.filter.ContextFilter.invoke(ContextFilter.java:73)
at org.apache.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72)
at org.apache.dubbo.rpc.filter.GenericFilter.invoke(GenericFilter.java:138)
So I think it work well. The situation that how to use token :
- The consumer invoke provider directly but not from service discovery provider list. It can forbid it.
- You service discovery should have more feature that control to send token to some consumer but not to send token to other consumer. But it depend on special service discovery.
from dubbo.
&READY-TO-CLOSE&
from dubbo.
Related Issues (20)
- [Bug] docker dubbo cluster broadcast not working HOT 1
- [Bug] Non-idempotent unit tests (follow-up of #14134)
- [Bug] In the example dubco-samples-spring-boot-trace-skywalking, the run fails HOT 2
- No provider available from registry RegistryDirectory(registry: 127.0.0.1:8848) HOT 1
- Dubbo 3.2 throws an error directly upon startup HOT 4
- [Bug] override url with configurator from "service-name.configurators" in interface mode not as expected HOT 10
- The matching wildcard is strict, but no declaration can be found for element 'dubbo:consumer'. HOT 1
- [Bug] enable-empty-protection default value is different between doc and code HOT 2
- [Bug] [Serialization Security] Serialized class java.lang.ArithmeticException is not in allow list. HOT 5
- [Bug] dubbo Provider列表变更通知consumer 消费端 出现NullPointerException bug HOT 1
- [Bug] java.lang.IllegalArgumentException: interface org.apache.dubbo.rpc.service.EchoService is not visible from class loader HOT 1
- [Bug] The registry uses etcd, but javaagent skywalking fails to start HOT 6
- [Bug] there are problems if mapping key only has service interface class name
- [Bug] level too large 2048 problem during serialization data by fastjson2 HOT 1
- No such extension org.apache.dubbo.rpc.Filter HOT 1
- [Bug] HOT 2
- [Bug] setting dubbo.application.metadata-type at config center does not take effect HOT 2
- [Bug] security/serialize.allowlist overwrite by dubbo framework HOT 9
- [Bug] The configuration dubbo services does not take effect in the configuration file and the service is not registered HOT 14
- 实现一个客户端自适应负载均衡算法-SelfAdaptionLoadBablance HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from dubbo.