解決oneindex顯示空白頁-白屏問題

最近使用的oneindex出現白屏了,總是一段時間會出現,之前搜索過解決方案,沒有找到一個說明問題原因的答案,于是自己動手試試。如果你不需要了解這個過程直接看后面修改方法。

思路

oneindex出現白屏后,我嘗試在postman上使用base.php里面的refreshtoken重新獲取accesstoken,提示refreshtoken是2月多創建的,refreshtoken過期了,算一下refreshtoken是有限期大概是三個月。這時我就重新捋了一下oneindex的授權過程:

1)在https://aad.portal.azure.com創建一個應用程序,獲得一組應用程序ID/密鑰SK,設置回調地址,配置權限(一般好像給委托權限【需要賬號登錄】,給文件讀寫、離線、用戶資料權限),安裝時使用。

2)安裝時賬號登錄授權獲取一個code →→用到 微軟oauth接口+應用程序ID+權限+回調地址

3)程序使用 code, 獲取 refreshtoken,這個refreshtoken保存在config/base.php里面 →→用到 微軟oauth接口+應用程序ID+SK+ 回調地址 + code

4)程序使用 refreshtoken, 獲取 accesstoken和一個新的refreshtoken,這個accesstoken和新的refreshtoken保存在config/token.php里面 →→用到 微軟oauth接口+應用程序ID+SK + 回調地址 + refreshtoken

5)程序使用 accesstoken獲取文件 →→用到微軟graph接口+ accesstoken

6)刷新文件,程序檢測config/token.php里面過期時間,小于600就刷新token,重復第四步的過程(使用base.php里面的refreshtoken)

問題就出現在這個過期的refreshtoken上,之前一直聽說refreshtoken長期有效,用獲取新的accesstoken,卻沒注意refreshtoken獲取accesstoken的過程也是會生成新的refreshtoken,而oneindex并沒有把新的refreshtoken寫到base.php用于下次刷新,一直使用第一次授權時的refreshtoken。這就好辦,把刷新后的refreshtoken寫進base.php應該就可以解決了。

解決

修改lib/onedrive.php,查找 config(‘@token’, $token);

在下面加一行 config(‘refresh_token’, $token[‘refresh_token’]);

圖片[1]-解決oneindex顯示空白頁-白屏問題
------本頁內容已結束,喜歡請分享------
溫馨提示:由于項目或工具都有失效性,如遇到不能做的項目或不能使用的工具,可以根據關鍵詞在站點搜索相關內容,查看最近更新的或者在網頁底部給我們留言反饋。
? 版權聲明
THE END
喜歡就支持一下吧
點贊3728 分享
評論 搶沙發

請登錄后發表評論

    暫無評論內容