[英]Flask JWT Extended “The specified alg value is not allowed” Error
當向 flask 路由發出請求時,該路由需要 JWT 才能使用(flask-restful 資源上的@jwt_required
裝飾器)進行訪問,我收到422 UNPROCESSABLE ENTITY
消息: The specified alg value is not allowed
。
登錄並導航到調用請求的(前端)路由時:
this.axios.get("/jobs").then(res => {
console.log(res.data);
this.jobs = res.data.jobs;
});
在同一個 go 中,它按預期工作,但是在刷新時它會顯示 422 錯誤。 我將令牌存儲在 localstorage 中並將其加載到 axios 標頭中,如下所示:
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
錯誤的資源。 任何援助將不勝感激: :)
當 JWT 令牌在我的 spring 引導身份驗證服務中創建但資源服務是 flask 微服務時,我遇到了同樣的問題。 我嘗試了以下步驟來整理它,
{
"alg": "HS512"
}
app.config['JWT_ALGORITHM'] = 'HS512'
之后錯誤消息消失了,我能夠從解碼的令牌中解析信息。 因此,您需要找到生成令牌的算法,並在 flask app.config
中設置適當的算法。
如果令牌是使用與app.config['JWT_ALGORITHM']
不同的算法創建的,則可能會發生這種情況
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.