WIF (mit Thinktecture Identity Server) und Duplex-WCF-Kanäle

9

Ich verwende derzeit Thinktecture Identity Server Version 2.4 und Windows Identity Foundation, um die Kommunikation zwischen .net-Anwendung und Server unter Verwendung ausgestellter Token zu sichern.

Ich arbeite mit einem Standard-WCF-NET-TCP-Kanal, indem ich einen föderierten Endpunkt offenlege und die Methode "CreateChannelWithIssuedToken (SecurityToken)" der Kanalfactory zur Bereitstellung des von der Issue-Anforderung zurückgegebenen Sicherheitstoken verwende.

Es scheint jedoch keine äquivalente Methode für die DuplexChannelFactory zu geben, die es uns ermöglicht, einen Instanzkontext zu übergeben. Ich habe diesen Artikel gelesen - Ссылка - welche Details wie Erstellen Sie die Duplex-Bindungen, um dies zu erreichen, jedoch kann ich beim Erstellen des Kanals keine Möglichkeit sehen, das Sicherheitstoken auf dem Kanal zu setzen.

Es gibt die IssuedToken-Eigenschaft - Ссылка - auf den Client-Anmeldeinformationen, jedoch ist es nur lesbar.

Hat jemand über den TCP-Nachrichtensicherheitsmodus eine föderierte Sicherheit über Duplexkanal erreicht, die einen Rat geben könnte?

    
Sam Cartwright 24.06.2014, 15:19
quelle

1 Antwort

3

Obwohl das manuelle Erstellen des Kanals und das Ausgeben des Tokens selbst mit dem STS nicht falsch ist, können Sie das WIF-Framework dazu nutzen, dies für Sie zu tun.

Wenn Sie Ihren Client über die Konfiguration konfigurieren, um sich des STS bewusst zu sein, ruft das Framework das Token selbst unter Verwendung der Anmeldeinformationen ab, die Sie für den Kanal festgelegt haben. Das Framework wird dann die Eigenschaft "IssuedToken" für die Anmeldeinformationen des Kanals festlegen.

%Vor%

Das oben gezeigte Code-Snippet zeigt, wie Sie mit einer sicheren Konversation und einem secureConversationBootstrap einen Duplex-Kanal erstellen können, um für die föderierte Sicherheit zu sorgen.

Ein Vorteil besteht darin, dass Sie auch Ihren eigenen URI für die vertrauende Seite einrichten können, sodass Sie den WCF-Endpunkt nicht als Kennung Ihrer vertrauenden Seite verwenden müssen.

Sie müssen das föderierte Dienstverhalten auch so einrichten, dass WIF wie folgt aktiviert wird (useIdentityConfiguration ist wichtig, da WIF aktiviert wird):

%Vor%

Einrichten des Service-Endpunkts ist hier dokumentiert: Ссылка (bis zu einem gewissen Grad)

Soweit ich sehen kann, stellt die DuplexChannelFactory selbst keine Methode zur Verfügung, um Kanäle mit ausgegebenen Token zu erstellen, während sie den Instanzkontext durchlaufen.

Hoffe, das hilft!

    
WillEllis 02.07.2014, 11:17
quelle