我有一个Middleware执行身份验证,然后应该重新路由到BlazorWeb 应用程序。
问题是我得到了token请求查询,我希望它在请求的正文中。
中间件:
public async Task Invoke(HttpContext context) {
string token = context.Request.Query["token"];
if (!context.User.Identity.IsAuthenticated) {
//do some logic to authenticate
}
else
await this.next(context);
}
配置:
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
app.UseResponseCompression();
app.UseAuthentication();
app.UseMiddleware<MultiAuthWare>();
app.UseMvc(routes => {
routes.MapRoute(name: "default", template: "{controller}/{action}/{id?}");
});
app.UseBlazor<Client.Startup>();
}
Blazor 入口点:
服务器重定向到: http://localhost:[portno]/?token=[a string]我不知道为什么。任何我尝试为入口页面设置两个路由的人Blazor都没有加载它。
@page "/"
@page "/?token={token}"
@inherits HomeBase
@functions()
{
}
PS:我不明白为什么服务器将 放在token查询字符串中?