問題描述
集成華為游戲 sdk 后,進行游戲登錄操作,其中帳號登錄完調用 getGamePlayer 接口后要對獲取到的 Access Token 進行驗證,此時調用解析憑證 Access Token 接口報{“error”:”invalid session”}。
解析憑證 Access Token 參考接口文檔。
問題分析
我們不知道什么原因,直接找到了華為技術支持(可提工單咨詢),按照他們的提示依次檢查。
- 查看接口 url 是否填錯,正確的 url:
https://oauth-api.cloud.huawei.com/rest.php?nsp_fmt=JSON&nsp_svc=huawei.oauth2.user.getTokenInfo
- 檢查請求頭是否設置 content-type為“application/x-www-form-urlencoded”。
- 檢查請求體中傳入的 access_token 字段是否被轉義,是否是 UTF-8 編碼。
問題解決
我們這邊按照上面提示檢查代碼,發現我們的代碼默認字符集不是 UTF-8,通過 Urlencode.encode() 方法將 access_token 轉成 UTF-8 編碼后,解決問題。