Fix for Campaigns exception and SignalR 401 Unauthorized (#1374)
* update API Gateway - /locations-api/ @ webmarketing/envoy.yaml * updated signalr services - envoy: webmarketingapigw - latest client: webmvc - service hub: ordering-signalrhub Co-authored-by: hfz-r <hafiz.roslan@hartalega.com.my>
This commit is contained in:
parent
df2c2bb10e
commit
85aea20046
@ -36,6 +36,19 @@ static_resources:
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
cluster: marketing
|
||||
- name: "l-short"
|
||||
match:
|
||||
prefix: "/l/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
prefix_rewrite: "/locations-api/"
|
||||
cluster: locations
|
||||
- name: "l-long"
|
||||
match:
|
||||
prefix: "/locations-api/"
|
||||
route:
|
||||
auto_host_rewrite: true
|
||||
cluster: locations
|
||||
http_filters:
|
||||
- name: envoy.router
|
||||
access_log:
|
||||
|
@ -56,6 +56,9 @@ static_resources:
|
||||
auto_host_rewrite: true
|
||||
cluster: signalr-hub
|
||||
timeout: 300s
|
||||
upgrade_configs:
|
||||
upgrade_type: "websocket"
|
||||
enabled: true
|
||||
- name: "b-short"
|
||||
match:
|
||||
prefix: "/b/"
|
||||
|
@ -19,6 +19,7 @@ using Ordering.SignalrHub.IntegrationEvents.EventHandling;
|
||||
using Ordering.SignalrHub.IntegrationEvents.Events;
|
||||
using RabbitMQ.Client;
|
||||
using System;
|
||||
using System.Threading.Tasks;
|
||||
using System.IdentityModel.Tokens.Jwt;
|
||||
|
||||
namespace Ordering.SignalrHub
|
||||
@ -109,7 +110,7 @@ namespace Ordering.SignalrHub
|
||||
RegisterEventBus(services);
|
||||
|
||||
services.AddOptions();
|
||||
|
||||
|
||||
//configure autofac
|
||||
var container = new ContainerBuilder();
|
||||
container.RegisterModule(new ApplicationModule());
|
||||
@ -133,7 +134,7 @@ namespace Ordering.SignalrHub
|
||||
loggerFactory.CreateLogger<Startup>().LogDebug("Using PATH BASE '{pathBase}'", pathBase);
|
||||
app.UsePathBase(pathBase);
|
||||
}
|
||||
|
||||
|
||||
app.UseRouting();
|
||||
app.UseCors("CorsPolicy");
|
||||
app.UseAuthentication();
|
||||
@ -150,7 +151,7 @@ namespace Ordering.SignalrHub
|
||||
{
|
||||
Predicate = r => r.Name.Contains("self")
|
||||
});
|
||||
endpoints.MapHub<NotificationsHub>("/hub/notificationhub", options => options.Transports = Microsoft.AspNetCore.Http.Connections.HttpTransports.All);
|
||||
endpoints.MapHub<NotificationsHub>("/hub/notificationhub");
|
||||
});
|
||||
|
||||
ConfigureEventBus(app);
|
||||
@ -185,6 +186,20 @@ namespace Ordering.SignalrHub
|
||||
options.Authority = identityUrl;
|
||||
options.RequireHttpsMetadata = false;
|
||||
options.Audience = "orders.signalrhub";
|
||||
options.Events = new JwtBearerEvents
|
||||
{
|
||||
OnMessageReceived = context =>
|
||||
{
|
||||
var accessToken = context.Request.Query["access_token"];
|
||||
|
||||
var path = context.HttpContext.Request.Path;
|
||||
if (!string.IsNullOrEmpty(accessToken) && (path.StartsWithSegments("/hub/notificationhub")))
|
||||
{
|
||||
context.Token = accessToken;
|
||||
}
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
|
@ -20,7 +20,8 @@ namespace Microsoft.eShopOnContainers.WebMVC.Controllers
|
||||
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
|
||||
}
|
||||
|
||||
[Authorize(AuthenticationSchemes = "OpenIdConnect")] public async Task<IActionResult> SignIn(string returnUrl)
|
||||
[Authorize(AuthenticationSchemes = "OpenIdConnect")]
|
||||
public async Task<IActionResult> SignIn(string returnUrl)
|
||||
{
|
||||
var user = User as ClaimsPrincipal;
|
||||
var token = await HttpContext.GetTokenAsync("access_token");
|
||||
|
@ -23,7 +23,7 @@ namespace WebMVC.Services
|
||||
_settings = settings;
|
||||
_logger = logger;
|
||||
|
||||
_remoteServiceBaseUrl = $"{_settings.Value.MarketingUrl}/api/v1/l/locations/";
|
||||
_remoteServiceBaseUrl = $"{_settings.Value.MarketingUrl}/l/api/v1/locations/";
|
||||
}
|
||||
|
||||
public async Task CreateOrUpdateUserLocation(LocationDTO location)
|
||||
|
@ -37,7 +37,7 @@
|
||||
},
|
||||
{
|
||||
"provider": "unpkg",
|
||||
"library": "@microsoft/signalr@3.0.1",
|
||||
"library": "@microsoft/signalr@latest",
|
||||
"destination": "wwwroot/lib/@microsoft/signalr/",
|
||||
"files": [
|
||||
"dist/browser/signalr.js",
|
||||
|
Loading…
x
Reference in New Issue
Block a user