是否能开放Halo的图床能力

首先非常喜欢Halo博客系统,虽然没什么文章产出但是我一直在关注Halo

使用过程中的痛点

Halo在搭配图片使用的时候非常的漂亮,但是使用的过程中我觉得上传附件非常的痛苦,需要点很多下鼠标,网友们建议我使用图床,但是我发现图床链接在Halo发布的文章里会不显示

日常写笔记文章一般使用 Typora, 一般来说写完文章再上传到 Halo 经历了以下步骤:

  1. 复制 Markdown 源码到 Halo
  2. 发现图床图片没法显示
  3. 手动从本地上传图片并替换之前图床的图片链接
  4. 发布

预期能达到的效果

如果 Halo 能搭配 PicGo 等第三方图片上传软件使用,预期的行为是这样的:

  1. 打开 Typora 写出一篇《母猪产后护理》
  2. 需要上传母猪产后图片
  3. 复制需要上传的图片 贴到 Typora,点击上传,图片已经上传到 Halo 并且链接也替换好了
  4. 复制整个源码到 Halo 后台
  5. 发布

能不能与为什么不能

作为 面向搜索引擎的 Java 初级工程师,我也有一颗参与开发的心,正在学习 Halo 的源码😊
我目前的做法是把 api-access-token 作为条件,如下图,只要与后台配置的 access-token 一致,就能成功的上传图片
在 AdminAuthenticationFilter 类中判断 Access Token 是否一致,一致就当身份验证成功

我想问问各位大佬

  1. 这个想法是可行的吗,能否这样做,Access Token 用法是否正确
  2. 如果不能这样做,原因是什么
  3. 已将功能粗略实现,能否提交代码到 halo-dev

感谢回答~ -- 来自菜鸡的感谢

非常感谢你的建议,这个实际上已经计划过了,也就是 app id 机制,简单来说就是使用 app id 来开放 admin api 和 content api 的访问权限,你可以为 Typora 创建一个 app id 用于访问 admin api 中的图片上传接口。

不过目前还没有开始开发,具体可以关注这个 issue:halo-dev/halo474

你的做法不是太可行,admin api,应该通过登录来拿到 token,而不是自己设定,即便开放一个上传图片的接口,使用 access key 来做验证也不是很安全。

    Ryan Wang 👍 非常感谢你的回复,看了Halo的源码,有非常多值得学习的东西!学习的路任重而道远,想问下咱们Halo有没有交流群