У меня есть Middleware
, который выполняет аутентификацию и затем должен перенаправить на веб-приложение Blazor
.
Проблема в том, что я вставил 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
в строку запроса?