首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Flask JWT Extended "The specified alg value is not allowed“错误

Flask JWT Extended "The specified alg value is not allowed“错误
EN

Stack Overflow用户
提问于 2019-10-23 09:18:08
回答 2查看 1.5K关注 0票数 0

当使用( flask-restful资源上的@jwt_required装饰器)请求一个需要JWT才能访问的flask路由时,我得到一个422 UNPROCESSABLE ENTITY,消息是:The specified alg value is not allowed

登录并导航到调用请求的(前端)路由时:

代码语言:javascript
运行
复制
this.axios.get("/jobs").then(res => {
      console.log(res.data);
      this.jobs = res.data.jobs;
    });

在同一个go中,它按预期工作,但是在刷新时,它会显示422错误。我将令牌存储在本地存储中,并将其加载到axios头中,如下所示:

代码语言:javascript
运行
复制
const api = {
  init: function() {
    Vue.use(VueAxios, axios);
    Vue.axios.defaults.baseURL = DEV_URL;
  },

  setHeader: function() {
    const token = `Bearer ${getToken()}`;
    Vue.axios.defaults.headers.common["Authorization"] = token;
  },
};

并在我的main.js中调用init()setHeader(),所以我搞不懂为什么这只在刷新之后才会导致错误。

我还没有找到任何关于如何纠正The specified alg value is not allowed错误的资源。任何帮助都将不胜感激!:)

EN

回答 2

Stack Overflow用户

发布于 2020-07-28 05:20:18

当在我的spring boot auth服务中创建JWT令牌时,我遇到了同样的问题,但资源服务是一个flask微服务。我尝试了以下步骤来解决这个问题,

  • 我在jwt.io调试器中粘贴了令牌。
  • 在右侧我找到了解码的标头,其中ALG值如下:

代码语言:javascript
运行
复制
    {
      "alg": "HS512"
    }

  • 我将alg放在flask资源服务器的应用程序配置中,如下所示:

代码语言:javascript
运行
复制
    app.config['JWT_ALGORITHM'] = 'HS512'

在那之后,错误消息消失了,我能够从解码的令牌中解析信息。因此,您需要找到生成令牌的算法,并在flask app.config中设置适当的算法。

票数 1
EN

Stack Overflow用户

发布于 2019-10-24 23:46:34

如果令牌是使用与app.config['JWT_ALGORITHM']不同的算法创建的,则可能会发生这种情况

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

https://stackoverflow.com/questions/58514171

复制
相关文章

相似问题

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