Loading... > 文章教程参考地址:[hostloc](https://hostloc.com/thread-840678-1-2.html) ## 实际需求 在使用oneindex,onemanger,cloudreve等软件挂载onedrive作为个人云盘时,需要面临的一个问题是在Azure创建应用,在生成密钥时,至多只允许创建两年的客户端密钥(自定义同样是至多两年),如下图 ![image.png](https://blog.ayano.top/usr/uploads/2021/11/1195410970.png) 不过我们也可以用不那么正规的方法去突破正规限制,创建例如100年的密钥,下面讲解教程 ## 教程步骤 1. 打开[Graph Explorer](https://developer.microsoft.com/zh-cn/graph/graph-explorer),这是一个微软自家的在线测试API工具,用这个工具伪造Azure的post请求也可以省去一些cookies操作,更方便一些 2. 在左侧登录自己的微软账号(建议是`组织管理员账号`,普通成员账户可能无相关api权限,同时注册Azure应用时的账号需与这边登录账号一致)![image.png](https://blog.ayano.top/usr/uploads/2021/11/2317462810.png) 3. 返回Azure的应用具体应用页面,不记得地址了可以点[这个链接](https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps),然后选择自己创建的应用并进入具体应用页面,复制`对象ID`的值 ![image.png](https://blog.ayano.top/usr/uploads/2021/11/191459568.png) 4. 切换回[Graph Explorer](https://developer.microsoft.com/zh-cn/graph/graph-explorer),将请求方式修改为`post`,请求地址修改为以下地址`并替换{id}`值 ```txt https://graph.microsoft.com/v1.0/applications/{id}/addPassword ``` 其中的`{id}`需要自己替换为上面复制的应用`对象id` 5. `点击`请求正文,并`输入`如下内容,最后点击`运行查询`,但这没完,请接着看第6点 ```json { "passwordCredential":{ "displayName":"100年授权", "endDateTime":"2121-11-24T00:00:00Z" } } ``` - 图片流程如下 ![image.png](https://blog.ayano.top/usr/uploads/2021/11/2869615805.png) 6. 如果之前没有用这个工具进行过创建密钥,`运行查询`时会提示这样的错误 ![image.png](https://blog.ayano.top/usr/uploads/2021/11/1008072638.png) 7. 点击`修改权限(预览版)`并`同意权限` ![image.png](https://blog.ayano.top/usr/uploads/2021/11/1614317519.png) 8. 在弹出的网页内同意应用的授权,如果使用的是普通成员账号,就无法同意授权,故文章一开始就是建议使用`管理员账号`进行Azure应用注册和Graph Explorer的登录 - 普通账号无法同意授权 ![image.png](https://blog.ayano.top/usr/uploads/2021/11/614714344.png) 9. 确认自己已经完成授权后,再次点击`运行查询` ![image.png](https://blog.ayano.top/usr/uploads/2021/11/3594557516.png) 10. 当显示绿色ok时,代表我们的100年密钥生成成功,这时请将倒数第二行的`secretText`的值自己记录下来(正常申请密钥时,这个值也是仅会显示一次,我们通过Graph Explorer请求时,也仅会在响应内容这显示,如果未保存此密钥,只能重新生成密钥) ![image.png](https://blog.ayano.top/usr/uploads/2021/11/289554654.png) 11. 回到Azure的应用具体应用页面,不记得地址了可以点[这个链接](https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps),然后选择自己创建的应用并进入具体应用页面,点击`客户端凭证` ![image.png](https://blog.ayano.top/usr/uploads/2021/11/430524465.png) 12. 能看到我们已经生成了100年的密钥,密钥有效期至2121年,密钥值就是第10点要求保存下来的密钥值,其他应用内需要的同样是`这个值`,而不是后面的机密id ![image.png](https://blog.ayano.top/usr/uploads/2021/11/3577934033.png) 13. 一般应用授权,将应用的客户端id,以及这里复制的密钥值填入应用,之后进行一次授权,之后便可以正常使用了 最后修改:2023 年 06 月 02 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 0 如果觉得我的文章对你有用,请随意打赏