找回密码
 注册
首页 ≡≡网络技术≡≡ PHP语言 为 OnlyOffice 关闭密钥(JWT令牌)

PHP 为 OnlyOffice 关闭密钥(JWT令牌)

灰儿 2023-9-20 16:43:50
centos7,用docker部署,seafile+onlyoffice,onlyoffice7.2版默认启用jwt,seafile打开doc文档报令牌未正确形成。

onlyoffice中local.json的“services-CoAuthoring-token-inbox,outbox,browser”都改为false后重启还是会提示"令牌未正确形成"。并且重启后以上三个都会被自动更新为true。
还有什么可以解决的办法吗?

ONLYOFFICE 编辑器使用 Json Web Token (JWT),保护文档免遭未经授权的访问。在文档编辑器被初始化、以及在内部 ONLYOFFICE 文档服务之间交换命令时,这个令牌会被添加到配置中。会通过密钥对JWT进行签名,并根据向 ONLYOFFICE 文档发出的请求来验证该令牌。
自 ONLYOFFICE 文档 v.7.2 起,默认启用 JWT,并自动生成密钥。您可以随时按需更改相关参数。
为保护您的文档,您需要启用令牌验证并在 ONLYOFFICE 文档配置文件中指定您自己的密钥,然后在连接器设置中指定相同的密钥。

针对 Linux/ Windows
配置 ONLYOFFICE 文档1.通过任意可用的文本编辑器打开 local.json 文件。
针对 Linux - /etc/onlyoffice/documentserver/local.json
针对 Windows - %ProgramFiles%\ONLYOFFICE\DocumentServer\config\local.json

2.通过将三个部分中的 false 值更改为 true 来启用令牌验证:
services.CoAuthoring.token.enable.browser
services.CoAuthoring.token.enable.request.inbox
services.CoAuthoring.token.enable.request.outbox

3.通过将三部分中的密钥值替换为您自己的文本字符串,来指定您自己的密钥。密钥必须是相同的。
services.CoAuthoring.secret.inbox.string
services.CoAuthoring.secret.outbox.string
services.CoAuthoring.secret.session.string
  1.   "services": {
  2.     "CoAuthoring": {
  3.       "token": {
  4.         "enable": {
  5.           "request": {
  6.             "inbox": true,
  7.             "outbox": true
  8.           },
  9.           "browser": true
  10.         }
  11.       },
  12.       "secret": {
  13.         "inbox": {
  14.           "string": "yoursecret"
  15.         },
  16.         "outbox": {
  17.           "string": "yoursecret"
  18.         },
  19.         "session": {
  20.           "string": "yoursecret"
  21.         }
  22.       }
  23.     }
  24.   }
  25. }
复制代码
1.保存更改。
2.重启服务,以使配置更改生效。
  systemctl restart ds-converter ds-docservice ds-example ds-metrics

针对
Docker
使用环境变量
如果您在 /etc/onlyoffice/documentserver/local.json 中更改自动生成的密钥或手动禁用 JWT,JWT 会被再次启用,服务器重启时也会重新生成密钥。为了避免此问题,请在 docker run 命令中使用环境变量。
如要更改密钥,请在 -e JWT_SECRET=my_jwt_secret 中指定您自己的密钥值。如要禁用 JWT,请使用 -e JWT_ENABLED=false。

参数说明:
--restart=always表示每次开机,只要当docker被设置为开机启动,此onlyoffice就会自动运行
-d 表示后台运行
-i:  交互式操作。
--name:为容器起一个名字
-t:  终端。
-p 8000:80  宿主机的8000端口映射到容器的80端口
-e JWT_ENABLED=false 开启密钥验证,默认开启。v7.2版以后功能。Dzzoffice必需要关闭。
-e JWT_SECRET=65321 设置密钥,如果没有开启密钥验证,无需设置此参数。

03.png

灰儿 楼主 2023-9-20 18:00:21
http://www.admin365.cn/thread-112450-1-1.html  宝塔面板docker安装onlyoffice用于office文件预览
http://www.admin365.cn/thread-112451-1-1.html  NextCloud中设置OnlyOffice提示文档服务内部发生异常: Invalid token
http://www.admin365.cn/thread-112495-1-1.html  为 OnlyOffice 关闭密钥(JWT令牌)
您需要登录后才可以回帖 登录 | 注册
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。
学习中心
站长自定义文字内容,利用碎片时间,随时随地获取优质内容。
Q设计语言 了解更多
Q Design 提供商家设计所需的指导与资源,帮商家快速完成产品设计、降低生产成本。