apache / apache/servicecomb-java-chassis

[BUG] - 服务间认证,消费方多实例时,服务方认证鉴权会失败

Offen
#5,139 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
bug
Vorherrschende Sprache
Java
Sterne
1.9k
Forks
814
Ø Merge
8 T. 23 Std.
Gemergte PRs (30 T.)
1

Beschreibung

### 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_

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Beginne damit, die Logik zur Token-Generierung in ConsumerTokenManager und die Suche nach dem öffentlichen Schlüssel des Consumers in ProviderTokenManager zu lesen. Reproduziere den Fehler mit mehreren Consumer-Instanzen auf ServiceComb 3.3.0 und verfolge, wie applicationName, serviceName und instanzspezifische Schlüsselpaare verwendet werden. Erledigt ist die Aufgabe, wenn sich jede Consumer-Instanz erfolgreich authentifizieren und die Autorisierung durch den Provider erfolgreich durchlaufen kann.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
authentication, authorization, backend
Issue-Typ
Bug
Schwierigkeit
4/5
Geschätzter Aufwand
3-5 Tage
Aktivitätsstatus
Ruhig
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
45/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.