我已經編寫了一個簡單的React應用程序,遵循稍微過時的教程的說明,該教程旨在顯示具有單個聯繫人數據的側欄中的聯繫人列表顯示在索引組件中,但前提是您已通過登錄Auth0組件進行身份驗證並且JSON Web令牌保存在本地存儲中。我已確認我已登錄並獲得令牌。到目前爲止,一切正常。使用JWT的快速API返回「未經授權:算法錯誤無效」
當我點擊側邊欄中的聯繫人來查看聯繫人的數據(這些數據來自使用Express設置的基本API)時,該問題就開始了。我一直在使用郵差,因爲唯一的錯誤,我從應用程序得到解決是「401:未經授權」
當我打我的終點,suppling與Authorization頭「承載[JWT_VALUE_HERE]」郵差與「UnauthorizedError迴應:無效算法」
全輸出
UnauthorizedError: invalid algorithm
at /Users/Arkham/Documents/Web/eldrac/react-auth-server/node_modules/express-jwt/lib/index.js:102:22
at /Users/Arkham/Documents/Web/eldrac/react-auth-server/node_modules/jsonwebtoken/verify.js:27:18
at _combinedTickCallback (internal/process/next_tick.js:95:7)
at process._tickCallback (internal/process/next_tick.js:161:9)
我已經做了一些谷歌搜索和調整我的Auth0客戶端設置,具體的算法設置,但不管是什麼我將其設置爲(我的選擇是RS256和HS256 ),它似乎沒有區別。我渴望通過這個。
我用的SuperAgent,使我的要求
getContact: (url) => {
return new Promise((resolve, reject) => {
request
.get(url)
.set('Authorization', 'Bearer ' + AuthStore.getJwt())
.end((err, response) => {
if (err) reject(err);
resolve(JSON.parse(response.text));
})
});
}
這似乎是工作。我已經確認url是正確的,並且AuthStore.getJwt()提供了正確的參數。
布賴恩 - 你看到我的回答 - 有什麼意見嗎? – arcseldon