- ABP Framework version: v8.0.4
- UI Type: MVC
- Database System: EF Core (SQL Server)
- Tiered (for MVC) or Auth Server Separated (for Angular): yes
- Exception message and full stack trace:
Public Web logs
[09:57:07 INF] Start processing HTTP request GET https://xxxx.azurewebsites.net/host/api/cms-kit-public/pages/exist?slug=health&api-version=1.0 [09:57:07 INF] Sending HTTP request GET https://xxxx.azurewebsites.net/host/api/cms-kit-public/pages/exist?slug=health&api-version=1.0 [09:57:09 INF] Received HTTP response headers after 2111.9678ms - 200 [09:57:09 INF] End processing HTTP request after 2112.1676ms - 200 [09:57:09 INF] Request finished HTTP/1.1 GET https://xxxx.azurewebsites.net/health - 302 0 null 2322.1667ms [09:57:09 INF] Request reached the end of the middleware pipeline without being handled by application code. Request path: GET https://xxxx.azurewebsites.net/health, Response status code: 302 [09:57:14 INF] Request starting HTTP/1.1 GET http://xxxx.azurewebsites.net/health - null null [09:57:15 WRN] Could not find IdentityClientConfiguration for CmsKitPublic. Either define a configuration for CmsKitPublic or set a default configuration. [09:57:15 INF] Start processing HTTP request GET https://xxxx.azurewebsites.net/host/api/cms-kit-public/pages/exist?slug=health&api-version=1.0 [09:57:15 INF] Sending HTTP request GET https://xxxx.azurewebsites.net/host/api/cms-kit-public/pages/exist?slug=health&api-version=1.0
API Host logs
[09:59:20 INF] Start processing HTTP request GET http://127.0.0.1:4882/health-status [09:59:20 INF] Sending HTTP request GET http://127.0.0.1:4882/health-status [09:59:20 INF] Request starting HTTP/1.1 GET http://127.0.0.1:4882/health-status - null null [09:59:20 ERR] 'MS-ASPNETCORE-TOKEN' does not match the expected pairing token '824e115b-0788-4d57-a6e3-f8eff97b788c', request rejected. [09:59:20 INF] Request finished HTTP/1.1 GET http://127.0.0.1:4882/health-status - 400 0 null 0.0847ms [09:59:20 INF] Received HTTP response headers after 0.5643ms - 400 [09:59:20 INF] End processing HTTP request after 0.8178ms - 400 [09:59:20 INF] Notification is sent on same window time.
Auth server logs
[09:48:19 INF] Request finished HTTP/1.1 POST https://xxxx.azurewebsites.net/auth/connect/introspect - 200 348 application/json;charset=UTF-8 2953.6649ms [09:48:22 INF] Request starting HTTP/1.1 GET http://xxxx.azurewebsites.net/auth/api/account/profile-picture-file/91283ec6-f040-01b3-b070-3a0fb801b1ba?api-version=1.0 - null null [09:48:22 INF] Executing endpoint 'Volo.Abp.Account.AccountController.GetProfilePictureFileAsync (Volo.Abp.Account.Pro.Public.HttpApi)' [09:48:22 INF] Route matched with {area = "account", action = "GetProfilePictureFile", controller = "Account", page = ""}. Executing controller action with signature System.Threading.Tasks.Task
1[Volo.Abp.Content.IRemoteStreamContent] GetProfilePictureFileAsync(System.Guid) on controller Volo.Abp.Account.AccountController (Volo.Abp.Account.Pro.Public.HttpApi). [09:48:22 INF] Executing action method Volo.Abp.Account.AccountController.GetProfilePictureFileAsync (Volo.Abp.Account.Pro.Public.HttpApi) - Validation state: Valid [09:48:24 INF] Executed action method Volo.Abp.Account.AccountController.GetProfilePictureFileAsync (Volo.Abp.Account.Pro.Public.HttpApi), returned result Microsoft.AspNetCore.Mvc.ObjectResult in 1929.5354ms. [09:48:24 INF] Executing ObjectResult, writing value of type 'Volo.Abp.Content.RemoteStreamContent'. [09:48:24 INF] Executed action Volo.Abp.Account.AccountController.GetProfilePictureFileAsync (Volo.Abp.Account.Pro.Public.HttpApi) in 1940.7107ms [09:48:24 INF] Executed endpoint 'Volo.Abp.Account.AccountController.GetProfilePictureFileAsync (Volo.Abp.Account.Pro.Public.HttpApi)' [09:48:24 INF] Request finished HTTP/1.1 GET https://xxxx.azurewebsites.net/auth/api/account/profile-picture-file/91283ec6-f040-01b3-b070-3a0fb801b1ba?api-version=1.0 - 200 908285 image/jpeg 1956.6045ms [09:49:39 INF] Request starting HTTP/1.1 GET http://xxxx.azurewebsites.net/auth/api/account/profile-picture-file/91283ec6-f040-01b3-b070-3a0fb801b1ba?api-version=1.0 - null null [09:49:39 INF] Executing endpoint 'Volo.Abp.Account.AccountController.GetProfilePictureFileAsync (Volo.Abp.Account.Pro.Public.HttpApi)' [09:49:39 INF] Route matched with {area = "account", action = "GetProfilePictureFile", controller = "Account", page = ""}. Executing controller action with signature System.Threading.Tasks.Task
1[Volo.Abp.Content.IRemoteStreamContent] GetProfilePictureFileAsync(System.Guid) on controller Volo.Abp.Account.AccountController (Volo.Abp.Account.Pro.Public.HttpApi). [09:49:39 INF] Executing action method Volo.Abp.Account.AccountController.GetProfilePictureFileAsync (Volo.Abp.Account.Pro.Public.HttpApi) - Validation state: Valid [09:49:43 INF] Executed action method Volo.Abp.Account.AccountController.GetProfilePictureFileAsync (Volo.Abp.Account.Pro.Public.HttpApi), returned result Microsoft.AspNetCore.Mvc.ObjectResult in 3792.0603ms. [09:49:43 INF] Executing ObjectResult, writing value of type 'Volo.Abp.Content.RemoteStreamContent'. [09:49:43 INF] Executed action Volo.Abp.Account.AccountController.GetProfilePictureFileAsync (Volo.Abp.Account.Pro.Public.HttpApi) in 3806.1067ms [09:49:43 INF] Executed endpoint 'Volo.Abp.Account.AccountController.GetProfilePictureFileAsync (Volo.Abp.Account.Pro.Public.HttpApi)' [09:49:43 INF] Request finished HTTP/1.1 GET https://xxxx.azurewebsites.net/auth/api/account/profile-picture-file/91283ec6-f040-01b3-b070-3a0fb801b1ba?api-version=1.0 - 200 908285 image/jpeg 3812.0837ms [09:52:40 INF] Lock is acquired for TokenCleanupBackgroundWorker [09:52:40 INF] Start cleanup. [09:52:40 INF] Start cleanup tokens. [09:52:41 INF] Start cleanup authorizations. [09:52:42 INF] Lock is released for TokenCleanupBackgroundWorker
Web logs
Request starting HTTP/1.1 GET http://xxxx.azurewebsites.net/admin/Carts - null null [09:49:12 INF] Executing endpoint '/Carts/Index' [09:49:12 INF] Route matched with {page = "/Carts/Index", action = "", controller = "", area = ""}. Executing page /Carts/Index [09:49:12 INF] Skipping the execution of current filter as its not the most effective filter implementing the policy Microsoft.AspNetCore.Mvc.ViewFeatures.IAntiforgeryPolicy [09:49:12 INF] Executing handler method Luvo.Web.Pages.Carts.IndexModelBase.OnGetAsync - ModelState is Valid [09:49:12 INF] Executed handler method OnGetAsync, returned result . [09:49:12 INF] Executing an implicit handler method - ModelState is Valid [09:49:12 INF] Executed an implicit handler method, returned result Microsoft.AspNetCore.Mvc.RazorPages.PageResult. [09:49:12 INF] Bundling __bundles/Pages.Carts.index.A11EC31A2816F5A47A7C7BECC94C4D55.js (1 files) [09:49:13 INF] > Minified /Pages/Carts/index.js (4780 bytes -> 2201 bytes) [09:49:13 INF] Bundled __bundles/Pages.Carts.index.A11EC31A2816F5A47A7C7BECC94C4D55.js (2204 bytes) [09:49:13 INF] Executed page /Carts/Index in 60.941ms [09:49:13 INF] Executed endpoint '/Carts/Index' [09:49:13 INF] Request finished HTTP/1.1 GET https://xxxx.azurewebsites.net/admin/Carts - 200 null text/html; charset=utf-8 275.8597ms [09:49:13 INF] Request starting HTTP/1.1 GET http://xxxx.azurewebsites.net/admin/__bundles/Lepton.Global.CB0D5B09BE6F106B497F8CE2353AE3CC.css?_v=638455743259205854 - null null [09:49:13 INF] The file /__bundles/Lepton.Global.CB0D5B09BE6F106B497F8CE2353AE3CC.css was not modified [09:49:13 INF] Request finished HTTP/1.1 GET https://xxxx.azurewebsites.net/admin/__bundles/Lepton.Global.CB0D5B09BE6F106B497F8CE2353AE3CC.css?_v=638455743259205854 - 304 null text/css 1.2781ms [09:49:13 INF] Request starting HTTP/1.1 GET http://xxxx.azurewebsites.net/admin/__bundles/Lepton.Global.1332F9729BF2DA679FDACFD1C644B9BD.js?_v=638455743278181600 - null null [09:49:13 INF] The file /__bundles/Lepton.Global.1332F9729BF2DA679FDACFD1C644B9BD.js was not modified [09:49:13 INF] Request finished HTTP/1.1 GET https://xxxx.azurewebsites.net/admin/__bundles/Lepton.Global.1332F9729BF2DA679FDACFD1C644B9BD.js?_v=638455743278181600 - 304 null application/javascript 1.3463ms [09:49:13 INF] Request starting HTTP/1.1 GET http://xxxx.azurewebsites.net/admin/Abp/ApplicationConfigurationScript - null null [09:49:13 INF] Executing endpoint 'Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationScriptController.Get (Volo.Abp.AspNetCore.Mvc)' [09:49:13 INF] Route matched with {area = "Abp", action = "Get", controller = "AbpApplicationConfigurationScript", page = ""}. Executing controller action with signature System.Threading.Tasks.Task
1[Microsoft.AspNetCore.Mvc.ActionResult] Get() on controller Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationScriptController (Volo.Abp.AspNetCore.Mvc). [09:49:13 INF] Executing action method Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationScriptController.Get (Volo.Abp.AspNetCore.Mvc) - Validation state: Valid [09:49:13 INF] Executed action method Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationScriptController.Get (Volo.Abp.AspNetCore.Mvc), returned result Microsoft.AspNetCore.Mvc.ContentResult in 214.5988ms. [09:49:13 INF] Executing ContentResult with HTTP Response ContentType of application/javascript [09:49:13 INF] Executed action Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationScriptController.Get (Volo.Abp.AspNetCore.Mvc) in 216.3628ms [09:49:13 INF] Executed endpoint 'Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.AbpApplicationConfigurationScriptController.Get (Volo.Abp.AspNetCore.Mvc)' [09:49:13 INF] Request finished HTTP/1.1 GET https://xxxx.azurewebsites.net/admin/Abp/ApplicationConfigurationScript - 200 8658 application/javascript 218.6837ms [09:49:14 INF] Request starting HTTP/1.1 GET http://xxxx.azurewebsites.net/admin/Abp/ApplicationLocalizationScript?cultureName=en - null null [09:49:14 INF] Executing endpoint 'Volo.Abp.AspNetCore.Mvc.Localization.AbpApplicationLocalizationScriptController.GetAsync (Volo.Abp.AspNetCore.Mvc)' [09:49:14 INF] Route matched with {area = "Abp", action = "Get", controller = "AbpApplicationLocalizationScript", page = ""}. Executing controller action with signature System.Threading.Tasks.Task
1[Microsoft.AspNetCore.Mvc.ActionResult] GetAsync(Volo.Abp.AspNetCore.Mvc.ApplicationConfigurations.ApplicationLocalizationRequestDto) on controller Volo.Abp.AspNetCore.Mvc.Localization.AbpApplicationLocalizationScriptController (Volo.Abp.AspNetCore.Mvc). [09:49:14 INF] Executing action method Volo.Abp.AspNetCore.Mvc.Localization.AbpApplicationLocalizationScriptController.GetAsync (Volo.Abp.AspNetCore.Mvc) - Validation state: Valid [09:49:14 INF] Request starting HTTP/1.1 GET http://xxxx.azurewebsites.net/admin/Abp/ServiceProxyScript - null null [09:49:14 INF] Executing endpoint 'Volo.Abp.AspNetCore.Mvc.ProxyScripting.AbpServiceProxyScriptController.GetAll (Volo.Abp.AspNetCore.Mvc)' [09:49:14 INF] Route matched with {area = "Abp", action = "GetAll", controller = "AbpServiceProxyScript", page = ""}. Executing controller action with signature Microsoft.AspNetCore.Mvc.ActionResult GetAll(Volo.Abp.AspNetCore.Mvc.ProxyScripting.ServiceProxyGenerationModel) on controller Volo.Abp.AspNetCore.Mvc.ProxyScripting.AbpServiceProxyScriptController (Volo.Abp.AspNetCore.Mvc). [09:49:14 INF] Executing action method Volo.Abp.AspNetCore.Mvc.ProxyScripting.AbpServiceProxyScriptController.GetAll (Volo.Abp.AspNetCore.Mvc) - Validation state: Valid [09:49:14 INF] Executed action method Volo.Abp.AspNetCore.Mvc.ProxyScripting.AbpServiceProxyScriptController.GetAll (Volo.Abp.AspNetCore.Mvc), returned result Microsoft.AspNetCore.Mvc.ContentResult in 5.5247ms. [09:49:14 INF] Executing ContentResult with HTTP Response ContentType of application/javascript [09:49:14 INF] Executed action Volo.Abp.AspNetCore.Mvc.ProxyScripting.AbpServiceProxyScriptController.GetAll (Volo.Abp.AspNetCore.Mvc) in 6.7376ms [09:49:14 INF] Executed endpoint 'Volo.Abp.AspNetCore.Mvc.ProxyScripting.AbpServiceProxyScriptController.GetAll (Volo.Abp.AspNetCore.Mvc)' [09:49:14 INF] Request finished HTTP/1.1 GET https://xxxx.azurewebsites.net/admin/Abp/ServiceProxyScript - 200 23503 application/javascript 8.7795ms [09:49:14 INF] Executed action method Volo.Abp.AspNetCore.Mvc.Localization.AbpApplicationLocalizationScriptController.GetAsync (Volo.Abp.AspNetCore.Mvc), returned result Microsoft.AspNetCore.Mvc.ContentResult in 219.0603ms. [09:49:14 INF] Executing ContentResult with HTTP Response ContentType of application/javascript [09:49:14 INF] Executed action Volo.Abp.AspNetCore.Mvc.Localization.AbpApplicationLocalizationScriptController.GetAsync (Volo.Abp.AspNetCore.Mvc) in 221.3792ms [09:49:14 INF] Executed endpoint 'Volo.Abp.AspNetCore.Mvc.Localization.AbpApplicationLocalizationScriptController.GetAsync (Volo.Abp.AspNetCore.Mvc)' [09:49:14 INF] Request finished HTTP/1.1 GET https://xxxx.azurewebsites.net/admin/Abp/ApplicationLocalizationScript?cultureName=en - 200 97574 application/javascript 223.3158ms [09:49:14 INF] Request starting HTTP/1.1 GET http://xxxx.azurewebsites.net/admin/__bundles/0A8933CBA9502D82B30D3F2736E143D4.0A8933CBA9502D82B30D3F2736E143D4.js?_v=638455743278354860 - null null [09:49:14 INF] The file /__bundles/0A8933CBA9502D82B30D3F2736E143D4.0A8933CBA9502D82B30D3F2736E143D4.js was not modified [09:49:14 INF] Request finished HTTP/1.1 GET https://xxxx.azurewebsites.net/admin/__bundles/0A8933CBA9502D82B30D3F2736E143D4.0A8933CBA9502D82B30D3F2736E143D4.js?_v=638455743278354860 - 304 null application/javascript 1.2318ms [09:49:14 INF] Request starting HTTP/1.1 GET http://xxxx.azurewebsites.net/admin/__bundles/Pages.Carts.index.A11EC31A2816F5A47A7C7BECC94C4D55.js?_v=638455745530172974 - null null [09:49:14 INF] Sending file. Request path: '/__bundles/Pages.Carts.index.A11EC31A2816F5A47A7C7BECC94C4D55.js'. Physical path: 'N/A' [09:49:14 INF] Request finished HTTP/1.1 GET https://xxxx.azurewebsites.net/admin/__bundles/Pages.Carts.index.A11EC31A2816F5A47A7C7BECC94C4D55.js?_v=638455745530172974 - 200 2204 application/javascript 1.2487ms
- Steps to reproduce the issue:
Everything is working properly when running the application locally using visual studio. Error appears when we deploy it on azure web app. all 4 sites are configured on same domain as follows
- https://xxxx.azurewebsites.net (public website)
- https://xxxx.azurewebsites.net/admin (Web application)
- https://xxxx.azurewebsites.net/auth (Auth server)
- https://xxxx.azurewebsites.net/host (API host)
error comes in web application which is (" https://xxxx.azurewebsites.net") after login when i try to add / create record, if there are no records then error comes on index page as well.
Error Message - unauthorized
18 Answer(s)
-
0
Hi,
You can remove the
UseIISIntegration
When hosting in IIS, IIS passes custom headers to the asp.net application which will be missing when hiting the asp.net core process directly. When using IIS to reverse proxy asp.net core, you should only access it via IIS.
https://learn.microsoft.com/en-us/archive/msdn-technet-forums/c4fda121-5459-4274-81bd-94bfe9379c37
-
0
Hi,
You can remove the
UseIISIntegration
When hosting in IIS, IIS passes custom headers to the asp.net application which will be missing when hiting the asp.net core process directly. When using IIS to reverse proxy asp.net core, you should only access it via IIS.
https://learn.microsoft.com/en-us/archive/msdn-technet-forums/c4fda121-5459-4274-81bd-94bfe9379c37
Hi liangshiwei, Thanks for the help but I cannot find "UseIISIntegration" anywhere in my code. So is there any other setting which might be causing this issue because i can not perform any action on deployed application. It always says unauthorized. Also for your reference i am deploying it in azure web app dotnet 8 using github actions.
-
0
So is there any other setting which might be causing this issue 'MS-ASPNETCORE-TOKEN' does not match the expected pairing token '824e115b-0788-4d57-a6e3-f8eff97b788c', request rejected.
No other reason, you can see the IIS Middleware source code https://github.com/dotnet/aspnetcore/blob/main/src/Servers/IIS/IISIntegration/src/IISMiddleware.cs#L105
That's why when using IIS to reverse proxy asp.net core, you should only access it via IIS
-
0
so how can i solve the issue. i can not find "UseIISIntegration" in my code and i am using "inprocess" hosting model in webconfig also i have already tried "OutOfProcess". But the issue is same. whenever i try to open anything it says unauthorized.
please suggest what should i change and where should i change.
Thanks
-
0
Hi,
Could you please share the full logs? thanks. my email is shiwei.liang@volosoft.com
-
0
hi
Please confirm the current user has the following permissions:
Authorization failed. These requirements were not met: PermissionRequirement: abc.Carts PermissionRequirement: abc.Addresses
Please set the loglevel to Debug of all websites and share again. Thanks. liming.ma@volosoft.com
public class Program { public async static Task<int> Main(string[] args) { Log.Logger = new LoggerConfiguration() .MinimumLevel.Debug() .MinimumLevel.Override("Microsoft.EntityFrameworkCore", LogEventLevel.Warning) .Enrich.FromLogContext() .WriteTo.Async(c => c.File("Logs/logs.txt")) .WriteTo.Async(c => c.Console()) .CreateLogger();
-
0
Hi maliming, I am using same database and user in local it is working perfectly so i don't think it is related to permission. It is throwing exception only when it is deployed in azure web app. and i think problem is coming due to "MS-ASPNETCORE-TOKEN' does not match the expected pairing token '824e115b-0788-4d57-a6e3-f8eff97b788c', request rejected." and i am not able to find solution for this.
I will share full log with MinimumLevel.Debug as soon as it is deployed with changes in azure. Thanks
-
0
Thanks.
And make sure your websites are In-process-hosting
https://learn.microsoft.com/en-us/aspnet/core/host-and-deploy/iis/in-process-hosting?view=aspnetcore-8.0
-
0
hi devsumati
Please output the HTTP request info to the logs in your
Controllers
You can inject the
ILogger<Controller>
and write theheaders
to logs.var headers = HttpContext.Request.Headers .Select(header => header.Key + " : " + header.Value) .ToList()
abc.Controllers.Carts.CartController.GetListAsync (abc.HttpApi)' abc.Controllers.Categories.CategoryController.GetListAsync (abc.HttpApi)' abc.Controllers.Addresses.AddressController (abc.HttpApi).
-
0
hi devsumati
Please output the HTTP request info to the logs in your
Controllers
You can inject the
ILogger<Controller>
and write theheaders
to logs.var headers = HttpContext.Request.Headers .Select(header => header.Key + " : " + header.Value) .ToList()
abc.Controllers.Carts.CartController.GetListAsync (abc.HttpApi)' abc.Controllers.Categories.CategoryController.GetListAsync (abc.HttpApi)' abc.Controllers.Addresses.AddressController (abc.HttpApi).
I am unable to understand what you are trying to say. can you please send me detailed info for the same where to write the given code or a sample code with above configuratio.n
-
0
-
0
hi
It seems there is no authentication header(Bearer)
We need the
Authorization: Bearer <token>
header.Please check your reverse proxy server.
GetListAsync(xxxx.Categories.GetCategoriesInput) on controller xxxx.Controllers.Categories.CategoryController (xxxx.HttpApi). [13:13:42 ERR] headers:Accept : text/plain; v=1.0, application/json; v=1.0 Connection : keep-alive Host : xxxxmen.com Accept-Language : en Max-Forwards : 10 traceparent : 00-08f8ff08b07e038ae06e36b6ed180164-4d3c133f9f1b20b0-00 api-version : 1.0 X-Correlation-Id : X-Requested-With : XMLHttpRequest X-ARR-LOG-ID : 3585d96e-1155-4e77-bcbd-a4ee87692cd6 CLIENT-IP : 20.204.219.217:10054 DISGUISED-HOST : xxxxmen.com X-SITE-DEPLOYMENT-ID : xxxxmen WAS-DEFAULT-HOSTNAME : xxxxmen.azurewebsites.net X-Forwarded-Proto : https X-AppService-Proto : https X-ARR-SSL : 2048|256|CN=GeoTrust Global TLS RSA4096 SHA256 2022 CA1, O="DigiCert, Inc.", C=US|CN=xxxxmen.com X-Forwarded-TlsVersion : 1.3 X-Forwarded-For : 20.204.219.217:10054 X-Original-URL : /host/api/app/categories?SkipCount=0&MaxResultCount=10&api-version=1.0 X-WAWS-Unencoded-URL : /host/api/app/categories?SkipCount=0&MaxResultCount=10&api-version=1.0 MS-ASPNETCORE-TOKEN : 1759c992-0ed8-4e8a-ace9-af4463fbc8b1 X-Original-For : 127.0.0.1:50915 X-Original-Proto : http ``
-
0
-
0
But after the deployment, It doesn't have the
Authorization: Bearer <token>
header. -
0
Yes that's the problem I am trying to solve
-
0
hi
This is an environment/deployment problem, I have no experience.
-
0
hi
This is an environment/deployment problem, I have no experience.
Hi maliming, Could you please assign this ticket to the team who has experience related to this.
I one more question how can i deploy multiple inprocess app in same site.
-
0
hi.
I have asked. You should check your
reverse proxy configuration.