2017-07-19 122 views
0

我正在開始使用Kong。我成功地用Oauth2插件做了一個簡單的認證系統,但現在我在JWT上遇到了一些麻煩。Mashape Kong +智威湯遜無效令牌

我搜索了很多,但缺乏有關此主題的文檔和資源。

我也跟着指導這裏:https://getkong.org/plugins/jwt/

我創建了一個消費者,他JWT憑據:

{ 
"secret": "6b965bcbf48a4ea7a170bf56557e14c1", 
"id": "5587b664-c8b5-4941-95fe-f6e03c319fa4", 
"algorithm": "HS256", 
"created_at": 1500473323000, 
"key": "6fad7730b5134fbb9d74d356d838c9b4", 
"consumer_id": "459cc6ab-fd62-4510-80cc-4eb48e5326a3" 
} 

然後我打開https://jwt.io/和許多其他工具來生成一個密鑰。反正這裏的數據我進入:

頁眉

{ 
"typ": "JWT", 
"alg": "HS256" 
} 

有效載荷

{ 
"iss": "6fad7730b5134fbb9d74d356d838c9b4" 
} 

驗證簽名

HMACSHA256(
    base64UrlEncode(header) + "." + 
    base64UrlEncode(payload), 
    6b965bcbf48a4ea7a170bf56557e14c1 
) 

刀具返回我用那麼作爲授權頭的關鍵:

Authorization: Bearer <token> 

不幸的是來自服務器的響應總是401:

{ 
"error_description": "The access token is invalid or has expired", 
"error": "invalid_token" 
} 

如果我發送一個破碎令牌或從錯誤的數據生成的令牌時,收到一個不同的錯誤消息。

我在這裏做錯了什麼?

回答

1

已解決。

基本上在同一個API上做更多的測試,我應用了兩個插件(Oauth2和JWT),然後創建了一個衝突。

正如我所說,我剛剛開始,所以對於新手,請注意不要在同一個API上使用更多身份驗證插件。