Blazor WebAssembly谷歌OAuth邮箱确认报错:找不到/Index页面
问题分析与修复方案
核心原因及解决步骤
修正确认页的跳转目标
默认ConfirmEmail.cshtml.cs中,邮箱确认完成后会跳转至/Index,但托管式Blazor WebAssembly的根路由是/而非/Index。需修改跳转逻辑:
打开Areas/Identity/Pages/Account/ConfirmEmail.cshtml.cs,找到OnGetAsync方法内的跳转代码,将RedirectToPage("/Index")替换为RedirectToPage("/"):// 原代码 return RedirectToPage("/Index"); // 修改后 return RedirectToPage("/");验证服务器端路由配置
确保服务器项目Program.cs中路由配置顺序正确,MapRazorPages()需在MapBlazorHub()之前,保证Identity的Razor Pages能被优先匹配:app.MapRazorPages(); app.MapBlazorHub(); app.MapFallbackToPage("/_Host");调试跳转逻辑
在ConfirmEmail.cshtml.cs中添加日志输出,确认跳转目标的正确性:_logger.LogInformation("跳转目标路径: {Path}", "/"); return RedirectToPage("/");同时观察浏览器地址栏,确认跳转过程中URL是否出现异常。
核对自定义Identity页面
若曾自定义过Identity的ConfirmEmail页面,检查是否误改了跳转逻辑,确保跳转目标为存在的Razor Page或Blazor路由。
内容的提问来源于stack exchange,提问作者Mike
相关产品推荐
相关产品推荐

