【问题标题】:SignalR core JWT claimsSignalR 核心 JWT 声明
【发布时间】:2019-07-18 17:00:17
【问题描述】:
cfg.Events = new JwtBearerEvents
                    {
                        OnMessageReceived = context =>
                        {
                            var accessToken = context.Request.Query["access_token"];

                            // If the request is for our hub...
                            var path = context.HttpContext.Request.Path;
                            if (!string.IsNullOrEmpty(accessToken) &&
                                (path.StartsWithSegments("/sas")))
                            {
                                // Read the token out of the query string
                                context.Token = accessToken;
                            }

                            return Task.CompletedTask;
                        }
                    };

在我的中心,我试图获得这样的声明

Context.User.Claims

但他们是空的

那么有什么选项可以让我的 JWT 声明在我的信​​号中心中获得?

【问题讨论】:

    标签: authentication jwt signalr token core


    【解决方案1】:

    我有一个类似的问题,我已经通过替换它来解决它:

    services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
    

    用这个:

    services.AddAuthentication(options =>
    {
        options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
        options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
    })
    

    出于某种原因,我不得不明确定义DefaultAuthenticateScheme。我仍然不知道为什么 DefaultAuthenticateScheme 没有根据文档自动回退到 DefaultScheme。如果我找出原因,我会更新答案。

    【讨论】:

      猜你喜欢
      • 2018-09-21
      • 2019-08-18
      • 1970-01-01
      • 2020-08-04
      • 1970-01-01
      • 2018-01-18
      • 2019-10-08
      • 2019-07-19
      • 1970-01-01
      相关资源
      最近更新 更多