天天看點

日常開發

1.問題描述:子使用者在頁面上下訂單時,擷取使用者的實名認證狀态資訊失敗,接口報401鑒權不通過。而用普通使用者在頁面上下訂單是沒有問題的。

解決思路:檢視日志,發現确實是token校驗不通過,然後就找到接口調用方的開發,他說頁面上所有調用接口使用到的token都是同一個token,其他接口的調用沒問題,那這個token也沒問題。對比普通使用者可子使用者的token發現它們長度不同,然後猜測是不是長度的問題,就利用token校驗的一個小bug去驗證這個猜想,這個小bug就是在token前面随意添加字元串,都會導緻token校驗不通過,而在token的最後面添加任意字元都可以校驗通過。是以就在token的後面添加字元串,增加token長度,增加到八千多字元的時候,重制了該問題。因為其他微服務用到的token都是從IAM擷取的,而且這麼長也沒有問題,是以猜想應該是因為token過長導緻的消息頭過長,修改了tomcate配置中消息頭大小的限制跟其他微服務一樣,重新開機服務,該問題解決。

2.問題描述:使用者個人詳細資訊頁面無法展示,接口報錯501

解決思路:取對應時間點的現網日志,發現日志中報數組越界,走讀代碼發現對從資料庫中取出來的固定電話進行匿名化的時候出現的數組越界。問題根因就是之前開發的時候沒有考慮到400-800-5555這種電話格式,隻考慮到了區号加号碼的格式。匿名話的時候是把第一個-之後的四位進行匿名化,而隻有三位的話就會導緻數組越界。

3.調用第三方接口時,接口要求傳參CDHPartyId要是20位的,而我們微服務種的所有id都是使用的UUID32位的,因為可能會一次性處理很多條資料,是以用時間戳也可能會有重複的,然後就百度了一個20位的UUID源碼直接使用。

繼續閱讀