今天冲浪的时候发现了一个挺有意思的typecho的插件:GithubFile,通过这个插件,能将网站的附件全部放在Github的仓库里储存,简单的来说就是白嫖资源不用跑自己服务器空间 。听着是不是还挺美好...然而问题还是存在的!,那就是这个插件只支持图片上传,如果是文件的话就会报错,而且东西放在别人服务器里想想还是有点膈应,所以博主思考再三还是没考虑使用。以下分享一下食用方法

Step 1: 下载插件并配置

仓库地址:Mlikiowa: GithubFile

Step 2: 配置oauth服务页面

  1. 解析一个新网址用于创建oauth服务,比如:https://gitauth.cirno.me:1234/
  2. 把项目下的class, func, 文件夹和auth.php移动到网站目录下

    图里一个红箭头指错位置了
    图里一个红箭头指错位置了

    Step 3: 应用登记

    引用至:https://www.ruanyifeng.com/blog/2019/04/github-oauth.html

一个应用要求 OAuth 授权,必须先到对方网站登记,让对方知道是谁在请求。

所以,你要先去 GitHub 登记一下。当然,我已经登记过了,你使用我的登记信息也可以,但为了完整走一遍流程,还是建议大家自己登记。这是免费的。

访问这个网址,填写登记表。
应用的名称随便填,主页 URL 填写:https://localhost:8080,跳转网址填:https://localhost:8080/oauth/redirect

oauth配置
oauth配置

这里的跳转网址能随便填,因为我们没必要做回调处理

Step 4: 配置插件

编辑插件目录下的Plugin.php,把config方法下的$_Server变量赋值为Step2设置好的网址

  public static function config(Typecho_Widget_Helper_Form $form) {
        $_Server = "OAUTH SERVICE URL";  // line 77,改这行
        echo '<a href="' . $_Server . '/auth.php?source_site=';
        Helper::options()->siteUrl();

修改完后刷新页面回到插件配置页面,点击页面最上方的获取token,正常的话会弹出授权页面

Step 5: 解析回调

授权成功后Github会把页面重定向到你设置的位置并返回(post)一个回调参数code,具体的值能在网址里找到
有了code的值后就能通过api:https://github.com/login/oauth获取token值了,具体操作可以用postman向api post:code, client_id, client_secret,数据没填错的话就能获取到token_id了。

post
post

Step 6: 选择仓库

根据需要填写你的储存仓库就行了

设置
设置