{errcode : 40094 ,errmsg : req id: 40ZR.a0918ns30, invalid component credential}
這個是我遇到的問題網頁受權oauth2.0錯誤信息緩存
我當時思路以下:服務器
一、微信服務器返回給個人受權碼code是沒有問題的,由於他不是invalid code這個錯誤微信
二、accesstoken確定沒問題,由於也沒報 invalid accesstoken這個錯誤app
三、微信官網找此錯誤碼,發現竟然沒有,雖然找到一個同樣的錯誤碼40094,可是那個是微信卡卷的跟這個不是一個概念測試
四、百度,google滿世界找這個錯誤碼,發現找到的只有兩條相似的,都沒解決,可是在裏面有人說多是阿里雲服務器IP不是固定的緣由致使的google
五、問了下咱們的阿里雲服務器IP是買的固定的阿里雲
六、實屬無奈之下猜測是否是,騰訊跟阿里巴巴競爭封他的IPspa
至於我爲何會有以上想法徹底是由於,這個網頁受權有時能夠,有時不行,並且毫無規律可言code
但不能獲取受權token+openid的時候 就會一直出現40094錯誤component
解決辦法:最終解決發現問題來源是,緩存服務器的問題即accesstoken問題
一、至於我爲何沒考慮到token過時,由於他始終沒出現過token過時的問題
二、致使token過時的罪魁禍首是,由於咱們申請了兩個測試公衆號第三方用於開發,咱們的token都是存儲在阿里雲OCS緩存裏面,將這個token添加到緩存的時候有個key值,由於我用的這個環境跟另一個環境所配置的key值是同樣的,那後來致使的後果就是,誰的後刷新,誰的token就能夠用,因此會出現有時能夠有時不行,
當個人後刷新token的話那就能夠成功訪問,當個人先刷新的話個人就不能訪問,由於後者替換了前者,因此實際上取出來的token是沒有過時的,可是跟這個第三方應用對接不上也就是key!=value,因此不存在token過時的錯誤,纔會出現以上的憑證不對的錯誤,微信首先驗證token是否有效,而後再去根據appid和token進行相應的處理吧,因此個人應用至關於用了一個其餘應用有效的token,固然token跟應用對接的原理大夥能夠看看網頁受權2.0的實現機制,因此最終把另一個應用的雲緩存key值換了,結果如今暢通無阻,整個世界清靜了,固然token過時是同事找到的,由於我被他的錯誤碼誤導了,致使我排除了token無效的思路