2017-07-18 67 views
0

我已經開始面臨一個問題,即在我們的WSO2實例請求新的訪問令牌後,我不能再提出API請求。WSO2-進行API調用時返回的訪問令牌驗證失敗錯誤消息

獲得新的新的令牌,使後續的API請求後,我收到以下錯誤:

code: 900901 
description: Access failure for API: xxxx, version: v1 with key: <access_token_here>. Make sure your have given the correct access token 
message: Invalid Credentials 

在我們的API Manager系統日誌(碳應用程序),我可以看到以下內容:

Invalid OAuth Token : Invalid input. Access token validation failed 

我明白錯誤是什麼,我只是不明白爲什麼它會在剛剛請求新令牌並嘗試將其用於API請求之後發生。

直到最近,我才能夠使API請求更好。我唯一能想到的是,也許我的API訪問被阻止是出於某種原因。

我一直在嘗試處理令牌到期情況時,進行API請求,處理過期(刷新令牌),並使用檢索新的訪問令牌重新執行原始API請求。我已經寫了一些代碼,我寫了這樣的代碼,在代碼不正確的情況下結束了發送WSO2網關的垃圾郵件,所以我想知道這是否達到了一些我已經違反的限制閾值,所以我的API訪問受到了限制?我訂閱的API是無限使用的,所以我不能看到它是這樣的。

我可以申請新的令牌並使用其他帳戶發出後續的API請求,所以這讓我認爲它必須是我自己的登錄信息。無論如何,我可以通過查看某些WSO2日誌進一步進行調試嗎?

僅供參考 - 我們正在使用WSO2 API Manager版本1.9

回答

0

你怎麼申請新的訪問令牌?您是否使用API​​ Store控制檯?在這種情況下,先前的標記被撤銷(無效)並且請求新的標記。

使用特定於應用程序的令牌(client_credentials)時,似乎只有一個令牌實例被分配給特定的應用程序(ClientKey),並且返回到過期或撤銷。我認爲它與用戶令牌(密碼或代碼配置文件)類似。

我們利用配置應用程序的「生產」和「沙箱」鍵。我建議你讓「生產」密鑰由真實應用程序使用,並且你可以在帶有沙箱標記的API商店控制檯上「播放」。

+0

我只是使用郵遞員到我們的令牌端點(使用帶有用戶名和密碼的密碼授權類型),然後當請求並返回令牌時,我使用訪問令牌對我們的api網關端點發出api請求在授權標題中。現在我一直在做這件事,直到最近我開始出現這個錯誤。 – mindparse

+0

@mindparse然後當Bhathiya回答時,令牌可能確實無效,被撤銷或過期。請確保不超過沿令牌返回的「expires_in」時間,並檢查IDN_OAUTH2_ACCESS_TOKEN數據庫表(假設您使用的是嚴重數據庫,而不是嵌入默認數據庫) – gusto2

0

這個錯誤可能只有2個原因。

  1. 該令牌無效。
  2. 令牌已過期或被吊銷。

要調試該問題,請檢查標記響應的validity_period。另外,您可以在IDN_OAUTH2_ACCESS_TOKEN表中檢查令牌狀態。

相關問題