Cookies 如何使用令牌重定向到Blazor

Cookies 如何使用令牌重定向到Blazor,cookies,middleware,blazor,Cookies,Middleware,Blazor,我有一个中间件,它执行身份验证,然后应该重新路由到Blazorweb应用程序 问题是我将令牌放在请求查询中,并希望它放在请求体中 中间件: public async Task Invoke(HttpContext context) { string token = context.Request.Query["token"]; if (!context.User.Identity.IsAuthenticated) { //do some logic to au

我有一个
中间件
,它执行身份验证,然后应该重新路由到
Blazor
web应用程序

问题是我将
令牌
放在请求查询中,并希望它放在请求体中

中间件:

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>();
}
PS:我不明白服务器为什么将
令牌
放在查询字符串中?

1)要从要解析的get参数中检索
令牌
,可以在
HomeBase中执行:

        var url = UriHelper.GetAbsoluteUri();  // By injection (see link)
        var uriBuilder = new UriBuilder(url);  // System namespace
        var q = System.Web.HttpUtility.ParseQueryString(uriBuilder.Query);
        var token = q["token"];
2) 我不明白你问题的第二部分,当你谈到在体内发送代币时

更多信息请访问

        var url = UriHelper.GetAbsoluteUri();  // By injection (see link)
        var uriBuilder = new UriBuilder(url);  // System namespace
        var q = System.Web.HttpUtility.ParseQueryString(uriBuilder.Query);
        var token = q["token"];