From 1aa4326187199bba523a6c8ee9b256bfa99b735f Mon Sep 17 00:00:00 2001 From: Paul Schneider Date: Sun, 31 Mar 2019 00:15:05 +0000 Subject: [PATCH] allow Jwt Bear token to be passed as url parameter --- src/Yavsc/Startup/Startup.OAuth.cs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/Yavsc/Startup/Startup.OAuth.cs b/src/Yavsc/Startup/Startup.OAuth.cs index ba7003b8..9f55516b 100644 --- a/src/Yavsc/Startup/Startup.OAuth.cs +++ b/src/Yavsc/Startup/Startup.OAuth.cs @@ -20,6 +20,7 @@ using OAuth.AspNet.AuthServer; using OAuth.AspNet.Tokens; namespace Yavsc { + using System.Threading.Tasks; using Auth; using Extensions; using Helpers.Google; @@ -101,6 +102,19 @@ namespace Yavsc { options.SecurityTokenValidators.Add (new TicketDataFormatTokenValidator ( ProtectionProvider )); + options.Events = new JwtBearerEvents + { + OnReceivingToken = async context => + { + var signalRTokenHeader = context.Request.Query["signalRTokenHeader"]; + + if (!string.IsNullOrEmpty(signalRTokenHeader) && + (context.HttpContext.WebSockets.IsWebSocketRequest || context.Request.Headers["Accept"] == "text/event-stream")) + { + context.Token = context.Request.Query["signalRTokenHeader"]; + } + } +}; } );