Home

Awesome

yapi-plugin-interface-oauth2-token

这是一个为了解决yapi管理的项目接口需要做鉴权操作的插件,觉得可以给 star 的欢迎 star 一下,你的 star 是我前进的动力之一。

主要解决问题

针对大多数项目来说,特别是现在的前后端分离的项目,接口通常也需要鉴权,这个插件目的就是为了解决自动获取鉴权token附加在请求上的功能。

特性

版本说明

1.3.0(2020-10-29)

1.2.3(2020-3-9)

1.2.2(2020-3-8)

1.2.0(2020-3-7)

1.1.1(2020-2-25)

1.1.0(2020-2-18)

1.0.1

1.0.0

简单使用

安装插件

要使用安装插件的yapi,需要先安装 yapi-cli

npm install yapi-cli -g

yapi plugin --name yapi-plugin-interface-oauth2-token

升级插件

我的升级过程不一定是最好的方法

  1. 修改 package.jsonpackage-lock.json 中的 yapi-plugin-interface-oauth2-token 的版本号为 1.2.3

  2. 删除 node_modules,然后重新 npm install

  3. 然后先卸载插件,再重新安装插件


yapi unplugin --name yapi-plugin-interface-oauth2-token

yapi plugin --name yapi-plugin-interface-oauth2-token

安装插件如果报错

如果安装中报错可以使用我提供的 node_modules.tar.gz,下载下来解压到你的 yapi 的 node_modules 目录,这个压缩包针对 Linux 和 Node 13 版本


tar -zvxf node_modules.tar.gz

#记得把 ./yapi 替换成你真正的目录,必须使用 /bin/cp,不然 -f 参数不会生效
/bin/cp -rf node_modules ./yapi/vendors/

# 执行完成之后在 vendors 执行如下命令
ykit pack -m

# 现在就可以使用命令启动了
node server/app.js

配置使用

进入项目设置页面,可以看到接口自动鉴权的Tab页

image

根据不同的环境配置不同的获取token的方式


关于token请求地址的结果获取:

目前我考虑到的场景如下,我会把接口返回数据中的 token_typeaccess_token 以空格分隔连接起来,所以我会写获取路径是 body.token_type + " " + body.access_token,

{
    "access_token": "27c72286-a4d7-42bc-adef-80980c234494",
    "token_type": "bearer",
    "refresh_token": "565399c9-a3f3-4594-8460-3194d952b708",
    "expires_in": 28799,
    "scope": "webapp"
}

结果如图:

2019-06-04_13-53.png

重启服务

不论你使用什么启动的 YApi,你需要重新启动下

安装失败问题解决

如果遇到安装失败的情况,请先用下面的命令卸载插件

yapi unplugin --name yapi-plugin-interface-oauth2-token

进入 vendors 目录,执行如下命令手动安装 node-sass

npm install node-sass

修改 package.jsonpackage-lock.json 的版本号,再重新安装插件,目前最新版本为 1.2.3

yapi plugin --name yapi-plugin-interface-oauth2-token

感谢