ONLYOFFICE 编辑器使用 Json Web Token (JWT),保护文档免遭未经授权的访问。在文档编辑器被初始化、以及在内部 ONLYOFFICE 文档服务之间交换命令时,这个令牌会被添加到配置中。会通过密钥对JWT进行签名,并根据向 ONLYOFFICE 文档发出的请求来验证该令牌。
自 ONLYOFFICE 文档 v.7.2 起,默认启用 JWT,并自动生成密钥。您可以随时按需更改相关参数。
为保护您的文档,您需要启用令牌验证并在 ONLYOFFICE 文档配置文件中指定您自己的密钥,然后在连接器设置中指定相同的密钥。
针对 Linux/ Windows:配置 ONLYOFFICE 文档
通过任意可用的文本编辑器打开 文件。
针对 Linux - /etc/onlyoffice/documentserver/
针对 Windows - %ProgramFiles%\ONLYOFFICE\DocumentServer\config\
通过将三个部分中的 false 值更改为 true 来启用令牌验证:
通过将三部分中的密钥值替换为您自己的文本字符串,来指定您自己的密钥。密钥必须是相同的。
中要修改的位置如下:
"services": {
"CoAuthoring": {
"token": {
"enable": {
"request": {
"inbox": true,
"outbox": true
},
"browser": true
}
},
"secret": {
"inbox": {
"string": "yoursecret"
},
"outbox": {
"string": "yoursecret"
},
"session": {
"string": "yoursecret"
}
}
}
}
}
保存更改。
重启服务,以使配置更改生效。
systemctl restart ds-converter ds-docservice ds-example ds-metrics
针对 Docker:使用环境变量
如果您在 /etc/onlyoffice/documentserver/
中更改自动生成的密钥或手动禁用 JWT,JWT 会被再次启用,服务器重启时也会重新生成密钥。
为了避免此问题,请在 docker run
命令中使用环境变量。
如要更改密钥,请在 -e JWT_SECRET=my_jwt_secret
中指定您自己的密钥值。
如要禁用 JWT,请使用 -e JWT_ENABLED=false
。
参考:如何为 ONLYOFFICE 文档配置 JWT