宝塔面板 Onedrive 插件授权失败解决办法

OneDrive宝塔备份插件
宝塔 Onedrive 备份插件很多站长都在使用,配置简单管理方便。前几天发现宝塔 Onedrive 备份失败,首先想到的是不是E5的Onedrive 是不是被回收了,先看的可用容量,毕竟我这种 10 分钟备份一次的 即使是 5 TiB 的空间,不出两个月也会满,看完了,确定空间充足,于是再次尝试备份,备份失败

看了一下日志:宝塔OneDrive备份插件日志

查找原因是应用程序 ID秘钥过期了

我们在宝塔安装的OneDrive备份插件直接使用的,我们都是授权后直接使用但是应用程序 ID这个插件用的是别人的应用程序 ID,这个iD过期了就会导致授权失败。

宝塔OneDrive插件授权失败

众所周知,在 Azure 应用程序添加 客户端密码 时,需要选择密码的租期(如图)
Microsoft Azure客户端密码日期
但是这个选项,从 2022 年开始,就不允许选择永久了,而是只能选择 2 年(原来注册的有效期会变成 1000 年),那么水落石出。肯定是宝塔这个插件怕我们自己注册麻烦,为了降低小白的使用门槛而用了自己的应用程序,并不是让小白自己创建并且对接。

所以按照常理,我们只需要把他换成我们自己的应用程序既可。如果你有保留 2022 年以前创建的应用程序密码,那么恭喜你,你可以一劳永逸(密码一经创建仅允许查看一次)。

查看插件目录,发现有个 credentials.json 里面就是关于这部分的配置

自己创建一个应用程序(教程下文),然后将创建出来的信息填入 onedrive-international 的 client_id 和 client_secret 项,既可,如图
宝塔OneDrive备份插件配置用户id
尝试重新授权登录

登录时成功打开授权页面
宝塔OneDrive备份插件授权登录
授权成功

再去宝塔的计划任务中手动执行一次备份操作这时上传备份就成功了。


附上 Microsoft Azure 创建应用程序的详细教程账号注册略过。

访问 Azure 官网 https://azure.com

登录账号 ( 个人账号需要有权授权目标账号,组织账号需要有权授权成员,就是需要用上级账号或者管理员账号 ) 在 Azure 服务中,找到应用注册

如果你 Azure 的官网登录之后打不开 或者直接打不开 显示打开失败,那么需要用 Edge 浏览器,并且禁用浏览器插件,别问我为什么

你可以发现,我别的地方演示都是 Chrome ,但是 Azure 的演示 都是 Edge

如果你找不到引用注册,可以直接用这个快捷链接:https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade

注册一个新应用
Microsoft Azure 创建应用程序
名称随便写,可以写一个好记的,比如说如果你只是打算给宝塔用,你可以就叫宝塔,如果你不仅打算给宝塔用,你还打算给 Cloudreve 等程序用,你可以叫别的名字(一个应用程序 ID 和秘钥可以同时给多个程序使用,就像 QQ 互联登录一样,你并不需要给每个程序都注册一个 QQ 互联)

受支持的帐户类型 就选择能使用此应用程序或访问此 API 的账户
 Azure 创建应用程序的api权限设置
我这里使用的是组织管理员账号,如果你是个人账号打开,可能并不能选择第一个

第一个大概意思就是 只有当前账号所在的组织才能登录
第二个的意思就是 所有组织的账号都能登录
第三个的意思就是 所有组织的账号 和个人的微软账号都能登录
第四个的意思就是 只有个人的微软账号可以登录,不允许组织账号使用

然后根据经验,还有前面的文件的内容,重定向 url 填写 http://localhost/login/authorized 既可。

创建成功之后进入你创建的应用程序,可以看到应用程序 ID 就是客户端 ID,按照前面的教程填写进文件中
api授权id
然后在左侧导航菜单中找到证书和密码

选择新建客户端密码

设置备注和时间,然后点击添加(前面说过了,时间最长就是 24 个月,别去自定义慢慢试了)

然后把密码的值填写进前面的文件中(这个值只能查看一次,前面也说过了)

到此一个应用程序创建和使用的步骤就完成了

 

当然,肯定很多人好奇这个应用程序到底是什么,我这里也解释一下。这个就相当于是 QQ 的互联登录,假如你在某网站登录的时候选择 QQ 登录 或者 微信登录 那些,那些就是调用的他们的登录接口,你就相当于创建了一个 使用 Microsoft 账号登录的接口。如果你是开发者,那你一定知道,审核的步骤非常繁琐,个人还有限制应用创建的个数,所以想必大家都干过让自己的业务网站统一账户登录,或者是专门制作一个登录账户的程序来实现只申请一个接口让各个业务一起登录(登录转发)。文章前面说,一个应用程序和密码,可以给多个业务使用,也就是这个意思。不过如果有多个业务要用,还是推荐不同业务使用不同的密码以确保安全。

赞(1)
未经允许不得转载:云帆网 » 宝塔面板 Onedrive 插件授权失败解决办法

评论 抢沙发

登录

找回密码

注册