Skip to content

原本打算用作于Gateway但是后来又放弃了的

Notifications You must be signed in to change notification settings

pantsugroups/EroGate

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

#EroGate ---- Ero的網關入口 使用了Echo框架

詳細文檔地址請訪問:https://echo.labstack.com/

协议

然而本Gateway使用了另外一套框架,详情请访问协议

TODO

  1. HTTP错误信息还未完善

HOT TO USE?

編譯:

./install.sh || ./install.bat

第一次运行

第一次运行,必须使用命令gateway setup进行安装。这个命令将会在目录下生成一个conf.yaml总配置文件。

该文件内容如下:

base:
  secret: this is a secret
  port: 80
API:
  login: /login
  register: /register

其中,port是当前gateway监听的端口。login是后台UserAPI的鉴权地址。

secret是用于token生成,以及gateway判断后台UserAPI鉴权成功的字段。UserAPI鉴权成功后,必须要返回该值内容,gateway才会签发令牌

register是用于添加热路由的API接口

添加路由

普通路由

使用gateway add命令,会在/conf.d下面動態添加yaml文件。這個作爲路由使用,詳細結構如下:

route: /website
backend: https://localhost:8080/

可以使用route标签和backend标签手动指明内容,同时还需要一个额外的标签name作为文件名 例如:

gateway add --name config1 --route /site --route http://localhost/

之后将会生成一个/conf.d/config1.yaml,如果程序在运行则/site将会添加到处理事件

热路由

conf.yaml==>API中设置了register字段后,即可热注册路由

请求包例子如下

{
  "secret": "this is a secret",
  "route": {
    "route": "/url",
    "backend": "http://backend.com/",
    "auth": false
  }
}

auth代表不登录即可访问。

运行

使用gateway run即可运行,但是前提得保证先执行了gateway setup

测试

使用gateway test命令,无条件的签发令牌或者解析令牌。

签发令牌需要username字段和uid字段,例如

gateway test --username aaa --uid 1

将会返回令牌:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE1NTczMzE5MjEsImlkIjoxLCJuYmYiOjE1NTczMzE5MjEsInVzZXJuYW1lIjoiYWFhIn0.ZphjRwwfcVrvKevwkA1FESMGpWjZbaECUkqInlEKZNc

如果需要解析令牌,则需要使用token字段

gateway test --token eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpYXQiOjE1NTczMzE5MjEsImlkIjoxLCJuYmYiOjE1NTczMzE5MjEsInVzZXJuYW1lIjoiYWFhIn0.ZphjRwwfcVrvKevwkA1FESMGpWjZbaECUkqInlEKZNc

将会返回 name: aa uid: 1

About

原本打算用作于Gateway但是后来又放弃了的

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published