Berechtigungsheader zu Jersey SSE Client-Anforderung hinzufügen

8

Ich verwende einen Jersey-Client, um eine Verbindung zu einem SSE-Stream herzustellen. Der Server erfordert, dass ich der HTTP-Anfrage eine Kopfzeile für die Autorisierung hinzufüge, aber ich kann nicht herausfinden, wie man die Kopfzeile hinzufügt.

Hier ist mein Code:

%Vor%

Hier ist ein Beispiel für den Header, den ich hinzufügen muss:

%Vor%     
Quick 15.03.2015, 00:53
quelle

7 Antworten

14

Für die Standardauthentifizierung würde dies so aussehen:

%Vor%

...

Sie haben bereits das Passwort von Jersey codiert.

Und wenn es ein Token ist:

%Vor%

Ich hoffe, es hilft!

    
lrnzcig 15.03.2015 16:31
quelle
3
%Vor%

Hoffe das hilft dir bei deinem Problem.

    
Tekle 06.04.2016 15:58
quelle
1

Versuchen Sie Folgendes:

%Vor%     
phani abburi 20.07.2015 03:41
quelle
1

Falls jemand den Bearer-Token-Header auf der Entity-Ebene Client selbst hinzufügen möchte, anstatt auf der Entity-Ebene Request (in meinem Fall hatte ich eine Factory-Methode zum Zurückgeben vorkonfigurierter Client -Entitäten) Ich hatte keine Möglichkeit, den Autorisierungsheader innerhalb der Factory-Methode hinzuzufügen, da .header(...) erst verfügbar wird, nachdem Sie die% c_de% -Kette durchlaufen haben (ab Jersey 2.x):

%Vor%

Leider (wie Sie vielleicht schon erraten haben) erfordert dies eine neue Abhängigkeit: ClientBuilder.newBuilder().register(...).build().target(...).request(...)

%Vor%     
Janaka Bandara 10.05.2016 20:47
quelle
1

Mir ist klar, dass diese Frage ein Jahr alt ist, aber da zu diesem Thema nicht viel zu finden ist, teile ich meine Lösung.

Basierend auf dem vorgeschlagenen OAuth2Feature habe ich diese Lösung gefunden:

  1. Erstellen Sie eine benutzerdefinierte Funktion. Die Funktion referenziert einen benutzerdefinierten Filter
  2. Erstellen Sie einen benutzerdefinierten Filter der Priorität HEADER_DECORATOR
  3. Erstellen Sie eine HeaderProvider-Schnittstelle. Der Provider wird an den Filter
  4. übergeben
  5. Registrieren Sie den WebClient mit der benutzerdefinierten Funktion

Header Provider-Schnittstelle

%Vor%

Benutzerdefinierte Funktion

%Vor%

Benutzerdefinierter Filter

%Vor%

Verwendung

%Vor%

Diese Lösung ist generisch und ermöglicht das einfache Hinzufügen eines Autorisierungsheaders, ohne dass eine weitere Abhängigkeit hinzugefügt werden muss.

    
Gilles 13.05.2016 10:43
quelle
0

Folgende Antwort ist nützlich: Server Gesendet Event Client mit zusätzlichem Cookie Es verwendet ein benutzerdefiniertes WebTarget zum Hinzufügen von Cookies und genauso funktioniert es auch auf Header.

%Vor%

Nachfolgend ist der Code, um es zu verwenden:

%Vor%     
lprince 03.08.2017 20:26
quelle
0

Wenn Sie einen Jercy-Client verwenden, der Header in websource

verwendet %Vor%     
Nisha Jamalu 21.12.2017 06:19
quelle