添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
The address record was working before adding forgot password, the issue was on the startup file with the provider, if it is removed the fig 1 code from the startup file, the address record will be displayed. Please I need help to resolve this issue.
What I have tried:
When this code is added, the forgotpassword is working, but the address record has been an issue on Fig 2.
Fig 1:
services.AddIdentity<AppUser, IdentityRole>() .AddEntityFrameworkStores<AppIdentityDbContext>() .AddDefaultTokenProviders(); Fig 2:
[ Authorize ] [HttpGet( " address" )] public async Task<ActionResult<AddressDto>> GetUserAddress() var user = await _userManager.FindByEmailWithAddressAsync(HttpContext.User); return _mapper.Map<Address,AddressDto>(user.Address); Here is the error for Fig 2:
" details" : " at System.IO.FileInfo.get_Length()\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.PhysicalFileResultExecutor.GetFileInfo(String path)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.PhysicalFileResultExecutor.ExecuteAsync(ActionContext context, PhysicalFileResult result)\r\n at Microsoft.AspNetCore.Mvc.PhysicalFileResult.ExecuteResultAsync(ActionContext context)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeResultAsync(IActionResult result)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextResultFilterAsync[TFilter,TFilterAsync]()\r\n--- End of stack trace from previous location ---\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeResultFilters()\r\n--- End of stack trace from previous location ---\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()\r\n--- End of stack trace from previous location ---\r\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)\r\n at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)\r\n at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)\r\n at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)\r\n at Microsoft.AspNetCore.Diagnostics.StatusCodePagesMiddleware.Invoke(HttpContext context)\r\n at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)\r\n at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)\r\n at API.Middleware.ExceptionMiddleware.InvokeAsync(HttpContext context) in C:\\Users\\fiseh\\Ruth_2022\\skinet\\API\\Middleware\\ExceptionMiddleware.cs:line 30" , " statusCode" : 500 ,
Fig 3:
[ HttpPost ( " ForgotPassword" )] public async Task<IActionResult> ForgotPassword([FromBody] ForgotPasswordDto forgotPasswordDto) if (!ModelState.IsValid) return BadRequest(); var user = await _userManager.FindByEmailAsync(forgotPasswordDto.Email); if (user == null ) return BadRequest( " Invalid Request" ); // var token = _tokenService.CreateToken(user); var token = await _userManager.GeneratePasswordResetTokenAsync(user); var param = new Dictionary<string, string> { " token" , token }, { " email" , forgotPasswordDto.Email } var callback = QueryHelpers.AddQueryString(forgotPasswordDto.ClientURI, param); var message = new Message( new string[] { user.Email }, " Reset password token" , " <h3>Please reset your password by clicking:</h3> " +callback); await _emailSender.SendEmailAsync(message); return Ok( " successful fiseha" );
  • Read the question carefully.
  • Understand that English isn't everyone's first language so be lenient of bad spelling and grammar.
  • If a question is poorly phrased then either ask for clarification, ignore it, or edit the question and fix the problem. Insults are not welcome.
  • Don't tell someone to read the manual. Chances are they have and don't get it. Provide an answer or move on to the next question. Let's work to help developers, not make them feel stupid.
  •