文章教程参考地址:hostloc

实际需求

在使用oneindex,onemanger,cloudreve等软件挂载onedrive作为个人云盘时,需要面临的一个问题是在Azure创建应用,在生成密钥时,至多只允许创建两年的客户端密钥(自定义同样是至多两年),如下图

image.png

不过我们也可以用不那么正规的方法去突破正规限制,创建例如100年的密钥,下面讲解教程

教程步骤

  1. 打开Graph Explorer,这是一个微软自家的在线测试API工具,用这个工具伪造Azure的post请求也可以省去一些cookies操作,更方便一些
  2. 在左侧登录自己的微软账号(建议是组织管理员账号,普通成员账户可能无相关api权限,同时注册Azure应用时的账号需与这边登录账号一致)image.png
  3. 返回Azure的应用具体应用页面,不记得地址了可以点这个链接,然后选择自己创建的应用并进入具体应用页面,复制对象ID的值

image.png

  1. 切换回Graph Explorer,将请求方式修改为post,请求地址修改为以下地址并替换{id}
https://graph.microsoft.com/v1.0/applications/{id}/addPassword

其中的{id}需要自己替换为上面复制的应用对象id

  1. 点击请求正文,并输入如下内容,最后点击运行查询,但这没完,请接着看第6点
{
    "passwordCredential":{
        "displayName":"100年授权",
        "endDateTime":"2121-11-24T00:00:00Z"
    }
}
  • 图片流程如下

image.png

  1. 如果之前没有用这个工具进行过创建密钥,运行查询时会提示这样的错误

image.png

  1. 点击修改权限(预览版)同意权限

image.png

  1. 在弹出的网页内同意应用的授权,如果使用的是普通成员账号,就无法同意授权,故文章一开始就是建议使用管理员账号进行Azure应用注册和Graph Explorer的登录
  • 普通账号无法同意授权

image.png

  1. 确认自己已经完成授权后,再次点击运行查询

image.png

  1. 当显示绿色ok时,代表我们的100年密钥生成成功,这时请将倒数第二行的secretText的值自己记录下来(正常申请密钥时,这个值也是仅会显示一次,我们通过Graph Explorer请求时,也仅会在响应内容这显示,如果未保存此密钥,只能重新生成密钥)

image.png

  1. 回到Azure的应用具体应用页面,不记得地址了可以点这个链接,然后选择自己创建的应用并进入具体应用页面,点击客户端凭证

image.png

  1. 能看到我们已经生成了100年的密钥,密钥有效期至2121年,密钥值就是第10点要求保存下来的密钥值,其他应用内需要的同样是这个值,而不是后面的机密id

image.png

  1. 一般应用授权,将应用的客户端id,以及这里复制的密钥值填入应用,之后进行一次授权,之后便可以正常使用了
最后修改:2023 年 06 月 02 日
如果觉得我的文章对你有用,请随意打赏