首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >继续返回401 Status = Bearer error="invalid_token",error_description=“签名无效”

继续返回401 Status = Bearer error="invalid_token",error_description=“签名无效”
EN

Stack Overflow用户
提问于 2022-11-07 22:16:51
回答 1查看 40关注 0票数 0

大家好,已经6个小时了,我正在努力解决这个问题。

我有以下项目:

  • 客户端应用程序:使用axios库的ReactJS
  • Server App:.NET Core用于授权和实现JWT

问题:

当试图使用axios向后端发送

  • 请求,并将jwt附加到头部时,我总是尝试使用postman完美地使用

My的尝试:

  • 我尝试将cors添加到我的api中,并允许每个源文件、每个头、每个方法仍然不起作用。

使用axios:从ReactJS发送请求:

代码语言:javascript
复制
async function getAllUserTasks() {
    try {
      return axios({
        method: "get",
        url: "http://localhost:5133/todo/ToDos",
        headers: {
          Authorization: `Bearer ${localStorage.getItem("jwtToken")}`,
        },
        body: {
          userId: JSON.stringify('924BF80F-F394-4927-8DCC-A7B67AFA663C')
        },
        

      });

    } catch (error) {
      console.log(error);
    }
  }

  //call the function one time
  useEffect(() => {
    getAllUserTasks();
  }, []);

应用程序中为JWT配置.NET:

代码语言:javascript
复制
services.AddAuthentication(defaultScheme: JwtBearerDefaults.AuthenticationScheme)
                    .AddJwtBearer(options => options.TokenValidationParameters = new TokenValidationParameters()
                    {
                        ValidateIssuer = true,
                        ValidateAudience = true,
                        ValidateLifetime = true,
                        ValidateIssuerSigningKey = true,
                        ValidIssuer = jwtSettings.Issuer,
                        ValidAudience = jwtSettings.Audience,
                        IssuerSigningKey = new SymmetricSecurityKey(
                            Encoding.UTF8.GetBytes(jwtSettings.Secret))

                    });

策略和cors的My配置:

代码语言:javascript
复制
services.AddCors(o => o.AddPolicy("MyPolicy", builder =>
                {
                    builder.WithOrigins("http://localhost:3000", "http://localhost:3000/")
                           .AllowAnyMethod()
                           .AllowAnyHeader();
                }));

这真是令人沮丧!

EN

回答 1

Stack Overflow用户

发布于 2022-11-08 09:20:22

尝试post请求,并从请求定义之外的本地存储中获取令牌。我想其中一个会解决你的问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74353540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档