apache / apache/servicecomb-java-chassis
[BUG] - 服务间认证,消费方多实例时,服务方认证鉴权会失败
- Langage dominant
- Java
- Étoiles
- 1.9k
- Forks
- 814
- Merge moyen
- 8 j 23 h
- PR mergées (30 j)
- 1
Description
### Steps to Reproduce
1、ConsumerTokenManager 生成的逻辑中,token拼接使用的 applicationName 和 serviceName,但是用于签名的公私钥对是每个微服务实例生成的。
2、ProviderTokenManager 去取消费方微服务的公钥时,默认取的实例组中的 get(0) 对应的公钥,就会导致多消费实例时,其他消费方认证失败
### Expected Behavior
_No response_
### Servicecomb Version
3.3.0
### Additional Context
_No response_
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Piste de recherche
Commencez par lire la logique de génération des tokens dans ConsumerTokenManager et la recherche de la clé publique du consommateur dans ProviderTokenManager. Reproduisez l’échec avec plusieurs instances de consommateurs sur ServiceComb 3.3.0 et suivez la manière dont applicationName, serviceName et les paires de clés propres à chaque instance sont utilisés. Le travail est terminé lorsque chaque instance de consommateur peut s’authentifier et obtenir l’autorisation du fournisseur avec succès.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- authentication, authorization, backend
- Type d'issue
- Bug
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Activité
- Calme
- Clarté
- Plutôt claire
- Accessibilité débutants
- 45/100