Ich habe einen Webdienst aufgebaut, der bisher ausschließlich aus ASP.NET-Web-API-Aufrufen bestand. Ich muss nun SignalR in den Mix einfügen, frage mich aber, wie ich den Sicherheitsaspekt konsistent halten kann.SignalR - Authentifizierung mit Zugriffstoken
Ich verwende derzeit OAuth-Bearer-Token (mit OWIN-Authentifizierung), so dass mein Client grundsätzlich ein access_token hat, das ich normalerweise einfach zu den Headern für Web-API-Aufrufe hinzufügen würde. Wie aber mache ich das gleiche (oder ähnliches) mit SignalR? Würde ich mich authentifizieren, wenn ich die Verbindung oder bei jedem Anruf erstelle? Und vor allem, wie würde ich das Zugriffstoken an erster Stelle spezifizieren?
Danke.
JavaScript WebSocket-API lässt keine Anforderung von Kopfzeilen zu. Die beste Option wäre, access_token für die Anfrage-URL-Abfragezeichenfolge festzulegen. –
Danke. Ich kann das tun, aber wie würde ich die Serverseite konfigurieren, um die Abfragezeichenfolge zu lesen und die Identität für meine Hubs zu bestimmen und festzulegen? – Barguast
@Barguast können Sie ein HubPipelineModule erstellen, das die Benutzeridentität für gültige Token festlegt oder den Zugriff auf ungültige Token verweigert. Die zwei Methoden, die Sie überschreiben müssen, damit dies funktioniert, sind OnBeforeConnect und OnBeforeIncoming. http://msdn.microsoft.com/en-us/library/microsoft.aspnet.signal.hubs.hubpipelinemodule(v=vs.118).aspx – halter73