解决oneindex显示空白页/白屏问题

  • 首页 > 教程
  • 作者:jaz
  • 时间: 2021年5月17日 14:01
  • 字数:1215 个
  • 字号:
  • 评论:0 条
  • 浏览:1193 次
  • 百度:百度已收录
  • 分类: 教程
  • 时间:2021-5-17 14:01 热度:1193° 评论:0 条 

    OneIndex部署教程,利用OneDrive打造专属分享型网盘- 开源代码|技术|教程资源|网络资源- 如有乐享

        最近使用的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']);





    正文到此结束
    您阅读这篇文章共花了: 
    本文链接://blog.jialezi.net/?post=173
    版权声明:若无特殊注明,本文皆为《jaz》原创,转载请保留文章出处。
    捐赠支持:如果觉得这篇文章对您有帮助,请“扫一扫”鼓励作者!

    热门推荐

    Hello! How do you see it?

    你还可以输入250 / 250 个字

    嘻嘻 大笑 可怜 吃惊 害羞 调皮 鄙视 示爱 大哭 开心 偷笑 嘘 奸笑 委屈 抱抱 愤怒 思考 日了狗


    既然没有吐槽,那就赶紧抢沙发吧!
    返回顶部    返回首页    手气不错    捐赠支持         
    版权所有:Jialezi `s blog    站点维护: jaz    +主题:海云彩色