14 Answer(s)
- 
    0hi Please share the logs of http 405. liming.ma@volosoft.com 
- 
    0hi Can you add this endpoint URL to your Yarp? It does not start with api/chathttps://localhost:44325/signalr-hubs/chat/negotiate?negotiateVersion=1
- 
    0
- 
    0hi Share your logs again. Thanks. 
- 
    0And write some logs on this handle to ensure the token has been converted. app.Use(async (httpContext, next) => { var accessToken = httpContext.Request.Query["access_token"]; var path = httpContext.Request.Path; if (!string.IsNullOrEmpty(accessToken) && (path.StartsWithSegments("/signalr-hubs/chat"))) { httpContext.Request.Headers["Authorization"] = "Bearer " + accessToken; } await next(); });
- 
    0in which module i need to add this., Volo.Chat.SignalR is added in AuthServer - <PackageReference Include="Volo.Chat.SignalR" Version="6.0.0" /> WebGateway - <PackageReference Include="Volo.Chat.SignalR" Version="6.0.0" /> AdministrationService.HttpApi.Host - <PackageReference Include="Volo.Chat.Web" Version="6.0.0" /> <PackageReference Include="Volo.Chat.SignalR" Version="6.0.0" /> AdministrationService.Web - <PackageReference Include="Volo.Chat.SignalR" Version="6.0.0" /> <PackageReference Include="Volo.Chat.Web" Version="6.0.0" /> yarp.js "Chat Service": { "ClusterId": "chatCluster1", "Match": { "Path": "/api/chat/{**everything}" } }, "Chat": { "ClusterId": "chatCluster", "Match": { "Path": "/signalr-hubs/{**everything}" } } "chatCluster": { "Destinations": { "destination1": { "Address": "https://localhost:44367" } } }, "chatCluster1": { "Destinations": { "destination1": { "Address": "https://localhost:44367" } } } port 4467 is administrationservice. l
- 
    0WebGateway logs ogs WebGateway 2023-05-09 09:08:29.428 +04:00 [INF] Proxying to https://localhost:44367/signalr-hubs/chat?id=S60onAzxCDsYio_ZHC7_jA&_=1683608909421 HTTP/2 RequestVersionOrLower no-streaming 2023-05-09 09:09:59.460 +04:00 [INF] Executed endpoint 'Chat' 2023-05-09 09:09:59.460 +04:00 [INF] Request finished HTTP/2 GET https://localhost:44325/signalr-hubs/chat?id=S60onAzxCDsYio_ZHC7_jA&_=1683608909421 - - - 200 0 text/plain 90034.6705ms 2023-05-09 09:09:59.483 +04:00 [INF] Request starting HTTP/2 OPTIONS https://localhost:44325/signalr-hubs/chat?id=S60onAzxCDsYio_ZHC7_jA&_=1683608999479 - - 2023-05-09 09:09:59.484 +04:00 [INF] CORS policy execution successful. 2023-05-09 09:09:59.484 +04:00 [INF] Request finished HTTP/2 OPTIONS https://localhost:44325/signalr-hubs/chat?id=S60onAzxCDsYio_ZHC7_jA&_=1683608999479 - - - 204 - - 0.3004ms 2023-05-09 09:09:59.487 +04:00 [INF] Request starting HTTP/2 GET https://localhost:44325/signalr-hubs/chat?id=S60onAzxCDsYio_ZHC7_jA&_=1683608999479 - - 2023-05-09 09:09:59.487 +04:00 [INF] CORS policy execution successful. 2023-05-09 09:09:59.487 +04:00 [INF] Executing endpoint 'Chat' 2023-05-09 09:09:59.487 +04:00 [INF] Proxying to https://localhost:44367/signalr-hubs/chat?id=S60onAzxCDsYio_ZHC7_jA&_=1683608999479 HTTP/2 RequestVersionOrLower no-streaming 2023-05-09 09:11:29.515 +04:00 [INF] Executed endpoint 'Chat' 2023-05-09 09:11:29.515 +04:00 [INF] Request finished HTTP/2 GET https://localhost:44325/signalr-hubs/chat?id=S60onAzxCDsYio_ZHC7_jA&_=1683608999479 - - - 200 0 text/plain 90029.4374ms 2023-05-09 09:11:29.541 +04:00 [INF] Request starting HTTP/2 OPTIONS https://localhost:44325/signalr-hubs/chat?id=S60onAzxCDsYio_ZHC7_jA&_=1683609089537 - - 2023-05-09 09:11:29.541 +04:00 [INF] CORS policy execution successful. 2023-05-09 09:11:29.541 +04:00 [INF] Request finished HTTP/2 OPTIONS https://localhost:44325/signalr-hubs/chat?id=S60onAzxCDsYio_ZHC7_jA&_=1683609089537 - - - 204 - - 0.2609ms 2023-05-09 09:11:29.544 +04:00 [INF] Request starting HTTP/2 GET https://localhost:44325/signalr-hubs/chat?id=S60onAzxCDsYio_ZHC7_jA&_=1683609089537 - - 2023-05-09 09:11:29.544 +04:00 [INF] CORS policy execution successful. 2023-05-09 09:11:29.544 +04:00 [INF] Executing endpoint 'Chat' 2023-05-09 09:11:29.544 +04:00 [INF] Proxying to https://localhost:44367/signalr-hubs/chat?id=S60onAzxCDsYio_ZHC7_jA&_=1683609089537 HTTP/2 RequestVersionOrLower no-streaming 2023-05-09 09:12:36.360 +04:00 [INF] "RequestCanceled": The request was canceled before receiving a response. System.Threading.Tasks.TaskCanceledException: The operation was canceled. at System.Net.Http.Http2Connection.Http2Stream.<>c.<WaitForDataAsync>b__80_0(Object s, CancellationToken cancellationToken) at System.Threading.CancellationTokenSource.Invoke(Delegate d, Object state, CancellationTokenSource source) at System.Threading.CancellationTokenSource.CallbackNode.ExecuteCallback() at System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(Boolean throwOnFirstException) at System.Threading.CancellationTokenSource.Cancel(Boolean throwOnFirstException) at Yarp.ReverseProxy.Utilities.ActivityCancellationTokenSource.<>c.<.cctor>b__10_0(Object s) at System.Threading.CancellationTokenSource.Invoke(Delegate d, Object state, CancellationTokenSource source) at System.Threading.CancellationTokenSource.CallbackNode.ExecuteCallback() at System.Threading.CancellationTokenSource.ExecuteCallbackHandlers(Boolean throwOnFirstException) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.CancelRequestAbortedTokenCallback() at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpProtocol.<>c.<CancelRequestAbortedToken>b__216_0(Object state) at System.Threading.ExecutionContext.RunForThreadPoolUnsafe[TState](ExecutionContext executionContext, Action`1 callback, TState& state) at System.Threading.QueueUserWorkItemCallback`1.Execute() at System.Threading.ThreadPoolWorkQueue.Dispatch() at System.Threading.PortableThreadPool.WorkerThread.WorkerThreadStart() --- End of stack trace from previous location --- at System.Net.Http.Http2Connection.Http2Stream.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token) at System.Net.Http.Http2Connection.Http2Stream.ReadResponseHeadersAsync(CancellationToken cancellationToken) at System.Net.Http.Http2Connection.SendAsync(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at System.Net.Http.HttpConnectionPool.SendWithVersionDetectionAndRetryAsync(HttpRequestMessage request, Boolean async, Boolean doRequestAuth, CancellationToken cancellationToken) at System.Net.Http.DiagnosticsHandler.SendAsyncCore(HttpRequestMessage request, Boolean async, CancellationToken cancellationToken) at Yarp.ReverseProxy.Forwarder.HttpForwarder.SendAsync(HttpContext context, String destinationPrefix, HttpMessageInvoker httpClient, ForwarderRequestConfig requestConfig, HttpTransformer transformer) 2023-05-09 09:12:36.360 +04:00 [INF] Executed endpoint 'Chat' 2023-05-09 09:12:36.360 +04:00 [INF] Request finished HTTP/2 GET https://localhost:44325/signalr-hubs/chat?id=S60onAzxCDsYio_ZHC7_jA&_=1683609089537 - - - 0 - - 66817.6900ms 2023-05-09 09:12:39.590 +04:00 [INF] Request starting HTTP/2 OPTIONS https://localhost:44325/api/abp/application-configuration - - 2023-05-09 09:12:39.590 +04:00 [INF] CORS policy execution successful. 2023-05-09 09:12:39.590 +04:00 [INF] Request finished HTTP/2 OPTIONS https://localhost:44325/api/abp/application-configuration - - - 204 - - 0.2322ms 2023-05-09 09:12:39.591 +04:00 [INF] Request starting HTTP/2 GET https://localhost:44325/api/abp/application-configuration - - 2023-05-09 09:12:39.591 +04:00 [INF] CORS policy execution successful. 2023-05-09 09:12:39.591 +04:00 [INF] Executing endpoint 'Administration Service' 2023-05-09 09:12:39.591 +04:00 [INF] Proxying to https://localhost:44367/api/abp/application-configuration HTTP/2 RequestVersionOrLower no-streaming 2023-05-09 09:12:40.105 +04:00 [INF] Executed endpoint 'Administration Service' 2023-05-09 09:12:40.105 +04:00 [INF] Request finished HTTP/2 GET https://localhost:44325/api/abp/application-configuration - - - 200 - application/json;+charset=utf-8 513.8699ms 2023-05-09 09:12:44.827 +04:00 [INF] Request starting HTTP/2 OPTIONS https://localhost:44325/api/abp/application-configuration - - 2023-05-09 09:12:44.827 +04:00 [INF] CORS policy execution successful. 2023-05-09 09:12:44.827 +04:00 [INF] Request finished HTTP/2 OPTIONS https://localhost:44325/api/abp/application-configuration - - - 204 - - 0.3398ms 2023-05-09 09:12:44.829 +04:00 [INF] Request starting HTTP/2 GET https://localhost:44325/api/abp/application-configuration - - 2023-05-09 09:12:44.829 +04:00 [INF] CORS policy execution successful. 2023-05-09 09:12:44.829 +04:00 [INF] Executing endpoint 'Administration Service' 2023-05-09 09:12:44.829 +04:00 [INF] Proxying to https://localhost:44367/api/abp/application-configuration HTTP/2 RequestVersionOrLower no-streaming 2023-05-09 09:12:45.400 +04:00 [INF] Executed endpoint 'Administration Service' 2023-05-09 09:12:45.400 +04:00 [INF] Request finished HTTP/2 GET https://localhost:44325/api/abp/application-configuration - - - 200 - application/json;+charset=utf-8 571.6678ms 2023-05-09 09:12:45.415 +04:00 [INF] Request starting HTTP/2 OPTIONS https://localhost:44325/api/chat/contact/total-unread-message-count - - 2023-05-09 09:12:45.415 +04:00 [INF] CORS policy execution successful. 2023-05-09 09:12:45.416 +04:00 [INF] Request finished HTTP/2 OPTIONS https://localhost:44325/api/chat/contact/total-unread-message-count - - - 204 - - 0.2922ms 2023-05-09 09:12:45.418 +04:00 [INF] Request starting HTTP/2 GET https://localhost:44325/api/chat/contact/total-unread-message-count - - 2023-05-09 09:12:45.418 +04:00 [INF] CORS policy execution successful. 2023-05-09 09:12:45.418 +04:00 [INF] Executing endpoint 'Chat Service' 2023-05-09 09:12:45.419 +04:00 [INF] Proxying to https://localhost:44367/api/chat/contact/total-unread-message-count HTTP/2 RequestVersionOrLower no-streaming 2023-05-09 09:12:45.420 +04:00 [INF] Request starting HTTP/2 OPTIONS https://localhost:44325/signalr-hubs/chat/negotiate?negotiateVersion=1 - - 2023-05-09 09:12:45.420 +04:00 [INF] CORS policy execution successful. 2023-05-09 09:12:45.420 +04:00 [INF] Request finished HTTP/2 OPTIONS https://localhost:44325/signalr-hubs/chat/negotiate?negotiateVersion=1 - - - 204 - - 0.2881ms 2023-05-09 09:12:45.423 +04:00 [INF] Request starting HTTP/2 POST https://localhost:44325/signalr-hubs/chat/negotiate?negotiateVersion=1 - 0
- 
    0AdministrationService Host 023-05-09 09:16:58.656 +04:00 [DBG] PermissionStore.GetCacheItemAsync: pn:C,pk:Eventix_Admin,n:Chat.Messaging 2023-05-09 09:16:58.658 +04:00 [DBG] Found in the cache: pn:C,pk:Eventix_Admin,n:Chat.Messaging 2023-05-09 09:16:58.659 +04:00 [INF] Executing endpoint '/signalr-hubs/chat/negotiate' 2023-05-09 09:16:58.660 +04:00 [INF] Executed endpoint '/signalr-hubs/chat/negotiate' 2023-05-09 09:16:58.660 +04:00 [INF] Request finished HTTP/2 POST https://localhost:44367/signalr-hubs/chat/negotiate?negotiateVersion=1 - 0 - 200 316 application/json 12.4308ms 2023-05-09 09:16:58.668 +04:00 [INF] Request starting HTTP/2 GET https://localhost:44367/signalr-hubs/chat?id=tac7c5W8SNCzuX8j1IBNNQ&access_token=eyJhbGciOiJSUzI1NiIsImtpZCI6IjZBQ0YyOUFCNDQxQ0RDRTJCM0JFRUZBREEzRUE1OUZGIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE2ODM2MDk0MTcsImV4cCI6MTcxNTE0NTQxNywiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NDQzMjIiLCJhdWQiOlsiQWNjb3VudFNlcnZpY2UiLCJJZGVudGl0eVNlcnZpY2UiLCJBZG1pbmlzdHJhdGlvblNlcnZpY2UiLCJTYWFzU2VydmljZSIsIlByb2R1Y3RTZXJ2aWNlIiwiVGlja2V0U2VydmljZSIsIkNvbW1vblNlcnZpY2UiLCJNZXJjaGFudFNlcnZpY2UiLCJCb29raW5nU2VydmljZSIsIkN1c3RvbWVyU2VydmljZSIsIlZlbnVlU2VydmljZSIsIlBhc3NNYW5hZ2VtZW50U2VydmljZSIsIkV2ZW50U2VydmljZSIsIk5vdGlmaWNhdGlvblNlcnZpY2UiXSwiY2xpZW50X2lkIjoiRXZlbnRpeF9BZG1pbiIsInN1YiI6IjNhMGIwZDQ4LWNhMDktMDBkNS03NGNmLTk0ZWVmOWVkOTYwZSIsImF1dGhfdGltZSI6MTY4MzYwOTQxNiwiaWRwIjoibG9jYWwiLCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9naXZlbm5hbWUiOiJhZG1pbiIsIm5hbWUiOiJhZG1pbiIsImVtYWlsIjoiYWRtaW5AYWJwLmlvIiwicm9sZSI6ImFkbWluIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjoiRmFsc2UiLCJlbWFpbF92ZXJpZmllZCI6IkZhbHNlIiwidXNlclR5cGUiOiJNZXJjaGFudCIsInNpZCI6IjBFQTA4Q0YwNDAxMjAwNDc0QkNGQUFFNzBGRTRBM0RCIiwiaWF0IjoxNjgzNjA5NDE3LCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwiZW1haWwiLCJwaG9uZSIsIkFjY291bnRTZXJ2aWNlIiwiSWRlbnRpdHlTZXJ2aWNlIiwiQWRtaW5pc3RyYXRpb25TZXJ2aWNlIiwiU2Fhc1NlcnZpY2UiLCJQcm9kdWN0U2VydmljZSIsIlRpY2tldFNlcnZpY2UiLCJDb21tb25TZXJ2aWNlIiwiTWVyY2hhbnRTZXJ2aWNlIiwiQm9va2luZ1NlcnZpY2UiLCJDdXN0b21lclNlcnZpY2UiLCJWZW51ZVNlcnZpY2UiLCJQYXNzTWFuYWdlbWVudFNlcnZpY2UiLCJFdmVudFNlcnZpY2UiLCJOb3RpZmljYXRpb25TZXJ2aWNlIiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.h6jxpOmOsxZjnkDY_tz49rI95EOTMVqqESwcXGT2464wve58PBgn_fTn4QZZht2CJVxIGi7ElRyOuMWfCSLsBJ_rG9nL8OQv14waoB1TdMa3AUl2ZislZetjPCHOScoLn44pS40d4G5myiQx5IG_7KKex6z8_H-9SymYXOpyaCg-r0H97Z8W0DqpWUO86w7XmRc_hx-_Yit_ueg51vtbQ7SC97CutzTkrthNM5RnO4N99SW263LEP-9aiDfU8mGLPlviQN1eieLOVW0cxbnBxsHsuJf8qX4W3R5j4m74AQLqPU37jzOVt0jWkmvR-qTPXaHQDmY2Arj5kBnnI9ywdA - - 2023-05-09 09:16:58.668 +04:00 [INF] CORS policy execution successful. 2023-05-09 09:16:58.671 +04:00 [INF] Authorization failed. These requirements were not met: PermissionRequirement: Chat.Messaging 2023-05-09 09:16:58.671 +04:00 [INF] AuthenticationScheme: Bearer was challenged. 2023-05-09 09:16:58.672 +04:00 [INF] Request finished HTTP/2 GET https://localhost:44367/signalr-hubs/chat?id=tac7c5W8SNCzuX8j1IBNNQ&access_token=eyJhbGciOiJSUzI1NiIsImtpZCI6IjZBQ0YyOUFCNDQxQ0RDRTJCM0JFRUZBREEzRUE1OUZGIiwidHlwIjoiYXQrand0In0.eyJuYmYiOjE2ODM2MDk0MTcsImV4cCI6MTcxNTE0NTQxNywiaXNzIjoiaHR0cHM6Ly9sb2NhbGhvc3Q6NDQzMjIiLCJhdWQiOlsiQWNjb3VudFNlcnZpY2UiLCJJZGVudGl0eVNlcnZpY2UiLCJBZG1pbmlzdHJhdGlvblNlcnZpY2UiLCJTYWFzU2VydmljZSIsIlByb2R1Y3RTZXJ2aWNlIiwiVGlja2V0U2VydmljZSIsIkNvbW1vblNlcnZpY2UiLCJNZXJjaGFudFNlcnZpY2UiLCJCb29raW5nU2VydmljZSIsIkN1c3RvbWVyU2VydmljZSIsIlZlbnVlU2VydmljZSIsIlBhc3NNYW5hZ2VtZW50U2VydmljZSIsIkV2ZW50U2VydmljZSIsIk5vdGlmaWNhdGlvblNlcnZpY2UiXSwiY2xpZW50X2lkIjoiRXZlbnRpeF9BZG1pbiIsInN1YiI6IjNhMGIwZDQ4LWNhMDktMDBkNS03NGNmLTk0ZWVmOWVkOTYwZSIsImF1dGhfdGltZSI6MTY4MzYwOTQxNiwiaWRwIjoibG9jYWwiLCJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9naXZlbm5hbWUiOiJhZG1pbiIsIm5hbWUiOiJhZG1pbiIsImVtYWlsIjoiYWRtaW5AYWJwLmlvIiwicm9sZSI6ImFkbWluIiwicGhvbmVfbnVtYmVyX3ZlcmlmaWVkIjoiRmFsc2UiLCJlbWFpbF92ZXJpZmllZCI6IkZhbHNlIiwidXNlclR5cGUiOiJNZXJjaGFudCIsInNpZCI6IjBFQTA4Q0YwNDAxMjAwNDc0QkNGQUFFNzBGRTRBM0RCIiwiaWF0IjoxNjgzNjA5NDE3LCJzY29wZSI6WyJvcGVuaWQiLCJwcm9maWxlIiwiZW1haWwiLCJwaG9uZSIsIkFjY291bnRTZXJ2aWNlIiwiSWRlbnRpdHlTZXJ2aWNlIiwiQWRtaW5pc3RyYXRpb25TZXJ2aWNlIiwiU2Fhc1NlcnZpY2UiLCJQcm9kdWN0U2VydmljZSIsIlRpY2tldFNlcnZpY2UiLCJDb21tb25TZXJ2aWNlIiwiTWVyY2hhbnRTZXJ2aWNlIiwiQm9va2luZ1NlcnZpY2UiLCJDdXN0b21lclNlcnZpY2UiLCJWZW51ZVNlcnZpY2UiLCJQYXNzTWFuYWdlbWVudFNlcnZpY2UiLCJFdmVudFNlcnZpY2UiLCJOb3RpZmljYXRpb25TZXJ2aWNlIiwib2ZmbGluZV9hY2Nlc3MiXSwiYW1yIjpbInB3ZCJdfQ.h6jxpOmOsxZjnkDY_tz49rI95EOTMVqqESwcXGT2464wve58PBgn_fTn4QZZht2CJVxIGi7ElRyOuMWfCSLsBJ_rG9nL8OQv14waoB1TdMa3AUl2ZislZetjPCHOScoLn44pS40d4G5myiQx5IG_7KKex6z8_H-9SymYXOpyaCg-r0H97Z8W0DqpWUO86w7XmRc_hx-_Yit_ueg51vtbQ7SC97CutzTkrthNM5RnO4N99SW263LEP-9aiDfU8mGLPlviQN1eieLOVW0cxbnBxsHsuJf8qX4W3R5j4m74AQLqPU37jzOVt0jWkmvR-qTPXaHQDmY2Arj5kBnnI9ywdA - - - 401 0 - 3.8241ms 2023-05-09 09:16:58.681 +04:00 [INF] Request starting HTTP/2 POST https://localhost:44367/signalr-hubs/chat/negotiate?negotiateVersion=1 - 0 2023-05-09 09:16:58.681 +04:00 [INF] CORS policy execution successful.
- 
    0hi Authorization failed. These requirements were not met: PermissionRequirement: Chat.Messaging https://support.abp.io/QA/Questions/4151/Need-a-guide-about--chat--module-in-blazor-server#answer-0b74bde7-8a10-5844-7414-3a07f7806f23 Please add ChatPermissionsto current user.
- 
    0
- 
    0hi Try to clear the Redis. If it still does not work. Can you share a simple project? liming.ma@volosoft.com 
- 
    0hi maliming its fixed but can you validate if is correct base on my setup AuthServer - Volo.Chat.SignalR 6.0.0 [DependsOn(typeof(ChatSignalRModule))] public class EventixAuthServerModule : AbpModule { } WebGateway app.Use(async (httpContext, next) => { var accessToken = httpContext.Request.Query["access_token"]; var path = httpContext.Request.Path; if (!string.IsNullOrEmpty(accessToken) && (path.StartsWithSegments("/signalr-hubs/chat"))) { httpContext.Request.Headers["Authorization"] = "Bearer " + accessToken; } await next(); });"Chat Service": { "ClusterId": "chatCluster1", "Match": { 
 "Path": "/api/chat/{**everything}" } }, "Chat": { "ClusterId": "chatCluster", "Match": {
 "Path": "/signalr-hubs/{**everything}" } } "chatCluster": { "Destinations": { "destination1": { "Address": "https://localhost:44367" } } }, "chatCluster1": { "Destinations": { "destination1": { "Address": "https://localhost:44367" } } }AdministrationService.HttpApi.Host - Volo.Chat.SignalR" Version="6.0.0"
- Volo.Chat.Web" Version="6.0.0"
 using Volo.Chat; using Volo.Chat.Web; [DependsOn(typeof(ChatSignalRModule))] [DependsOn(typeof(ChatWebModule))] public class AdministrationServiceHttpApiHostModule : AbpModule { } 
- 
    0
- 
    0Great. 

















 
                                