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

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


    OneIndexécOneDrive

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




    博主自用修改版oneindex-j:https://github.com/jialezi/oneindex-j




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

    热门推荐

    Hello! How do you see it?

    你还可以输入250 / 250 个字

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

    已有5条吐槽

    匿名

    2023-07-17 18:31 IANA保留地址
    发帖软件 www.teamczyx.com
     未知操作系统   未知浏览器

    匿名

    2022-02-14 22:02 天津市联通
    H6vhR0.jpg
    大佬咨询下不知道什么情况,网页特效为什么没了呢?网页只有文字排版
     未知操作系统   未知浏览器

    jaz

    2022-08-16 20:46 IANA保留地址
    @匿名:有的css网址被屏蔽了,自己找可用的替换一下
     未知操作系统   未知浏览器

    匿名

    2021-09-26 22:50 英国 CZ88.NET
    大佬你好啊,请问如果使用的是docker版的oneindex的话,这个选项应该在哪里寻找啊
     未知操作系统   未知浏览器

    jaz

    2021-10-06 11:56 美国 CZ88.NET
    @匿名:docker ps 查看oneindex的id
    docker exec -it oneindex的id bash 进去docker
    找到程序目录改
     未知操作系统   未知浏览器

    返回顶部    返回首页    手气不错    捐赠支持         
    版权所有:Jialezi `s blog    站点维护:    +主题:海云彩色