主动保护文件的方式有多种,比如:使用加密、水印功能以及限制访问权限。但是文档安全性功能完全不止于此。今天,我们将向您介绍 JWT。这是一种重要的访问保护代理,可在后台时刻保持运行,确保只有授权用户才能编辑您的文件。
什么是 JWT
JSON Web Token(即:JWT,发音为 /dʒɒt/)是一种安全在线信息交换开放标准,主要用于两种目的——授权和数据传输。
一个紧凑的JSON 对象中将包含身份验证信息,并在应用于 web 应用程序中时提供验证服务合法用户的能力。简而言之,其可以帮助应用程序确认信息的发送者是否是他们所声称身份。
JWT 是一种自包含的对象,其形式为字符串,由标头(header)、有效负载(payload)和签名(signature)组成。标头中包含有关令牌以及如何生成签名的信息,有效负载中包含有关提供访问权限所必要的用户声明,签名则用于验证用户身份。
我们可使用密钥来对令牌进行签名。密钥可用于验证传输数据的来源。
ONLYOFFICE 如何使用安全令牌
在 ONLYOFFICE 中,JWT 将被用于保护编辑器和用户之间的数据流。其可对在文档中进入了编辑会话并尝试在文档中执行某些操作的用户进行验证。来自 ONLYOFFICE 文档服务器的每个 HTTP 请求都会有相应的令牌,其将被添加到参数中。
这里针对不同的用户操作生成了不同的 JWT。令牌在每种情况下都会使用相同的密钥签名,这一信息有助于以不同方式对输入进行授权。例如,在打开编辑器时、向文件插入图像、打开文档版本历史记录等情形中会创建单独的令牌。
如需向托管在 www.example.com 上的文件添加 PNG 图像,那么就需要在令牌中包含以下参数:
{
“fileType”: “png”,
“url”: “https://example.com/url-to-example-image.png”
}
示例令牌如下:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJmaWxlVHlwZSI6InBuZyIsInVybCI6Imh0dHBzOi8vZXhhbXBsZS5jb20vdXJsLXRvLWV4YW1wbGUtaW1hZ2UucG5nIn0.FXuC3GUvPq3japwyzo4i-utUe3g1rfSDt1ytuK_VyCc
为了对 JWT 进行签名,在每个集成了 ONLYOFFICE 文档的共享服务中都会使用一个自定义密钥。
如何获取密钥
ONLYOFFICE 文档的早期版本中默认是不包含 JWT 密钥的,其必须由托管服务(如:Nextcloud)管理员进行生成,并通过设置手动提交给 ONLYOFFICE 文档服务器。
JWT 可在哪里使用?
几乎所有的官方 ONLYOFFICE 集成应用都支持 JWT,如:
- Nextcloud
- ownCloud
- Alfresco
- Moodle
- Mattermost
- Chamilo
- HumHub
- Confluence
- Plone
- Strapi
- Liferay
- Jira
- Nuxeo
- Redmine
您可浏览我们的网站以了解所有可用集成,还可在相应的 GitHub 页面上获知有关 Token 配置的指导。
如果您想为自己的应用创建 ONLYOFFICE 集成,则可查看我们的 API 指南以了解是否可以添加安全性令牌支持。