14 Answer(s)
-
0
hi
Please share the logs of http 405.
liming.ma@volosoft.com
-
0
hi
Can you add this endpoint URL to your Yarp?
It does not start with
api/chat
https://localhost:44325/signalr-hubs/chat/negotiate?negotiateVersion=1
-
0
-
0
hi
Share your logs again. Thanks.
-
0
And 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(); });
-
0
in 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
-
0
WebGateway 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
-
0
AdministrationService 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.
-
0
hi
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
ChatPermissions
to current user. -
0
-
0
hi
Try to clear the Redis. If it still does not work. Can you share a simple project?
liming.ma@volosoft.com
-
0
hi 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
-
0
Great.