NiceLeeのBlog 用爱发电 bilibili~

备忘录 Azure单页应用授权 + keeweb Web应用部署问题

2021-09-08
nIceLee

阅读:


最近在折腾密码管理软件,相中了keepass。
使用它的数据库的开源软件有很多,选择了keeweb(js写的,可以是桌面、Web应用,跨平台很好),
以及keepass2android(Android端)。
倒腾了许久,最终数据同步用的是坚果云的Webdav。
但是有个缺点,因为浏览器请求会带上Origin等头部,因为跨域安全问题导致Web应用无法使用坚果云。
所以Web应用只能尝试使用微软的Onedrive。

问题复现

  • 参照Wiki进行Onedrive的配置
  • 单页应用直接copy的gh-pages分支
  • 这里采取的是在url参数里面指定配置路径
    • https://your-keeweb-deployment-url/?config=your-config.json
    • json的内容为
        {
            "settings": {
                "onedriveClientId": "xxx",
            }
        }
      
  • 最后在浏览器Web应用里使用OneDrive时,报错
    • log如下:
        [storage-onedrive] OAuth error invalid_request The request is not valid for the application's 'userAudience' configuration. In order to use /common/ endpoint, the application must not be configured with 'Consumer' as the user audience. The userAudience should be configured with 'All' to use /common/ endpoint. xxxxx.xxx.com:1:450893
        [storage-onedrive] OAuth error popup closed
      

问题分析

问题解决

修改配置

{
    "settings": {
        "onedriveClientId": "xxx",
        "onedriveTenantId": "consumers"
    }
}

内容
隐藏