# gateway **Repository Path**: optcode/gateway ## Basic Information - **Project Name**: gateway - **Description**: 联系gateway联系gateway联系gateway联系gateway联系gateway - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2023-02-14 - **Last Updated**: 2023-02-14 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # gateway ## docker ```shell mvn clean package docker build -t hub.bilibili.co/lifajin/gateway:0.0.3 . docker push hub.bilibili.co/lifajin/gateway:0.0.3 docker run -d --name gateway -p 9999:9999 hub.bilibili.co/lifajin/gateway:0.0.1 ``` ## 简介 gateway目前用在后台服务群的网关,是zuul实现的轻量网关服务。除了两个适配的认证服务和权限服务的Filter, 网关核心功能和其他过滤器具有很好的通用性。 ## 特色 - 支持自定义Filter,拓展方便 - 支持路径绑定 - 支持点到点绑定 - 支持自定义超时 ## 相关Filter 1. 认证Filter: 验证cookie里的`jwt token`或者Header里的`Authorization:Bearer token`, 验证通过会给请求增加一个 - `X-Gateway-Email`的header,值为用户邮箱 - `X-Gateway-UserId`的header,值为用户userid - `X-Gateway-Name`的header,值为用户名字 - `X-Gateway-Token`的header,值为值为token内容的Base64 urlsafe 编码 2. 权限Filter: 会根据请求的服务,自动获取请求发起者的所有权限,给请求增加一个 - `X-Gateway-Permission`的header,值为base64 urlsafe编码的json序列化的字符串。 (如`eyJhcHAiOlsid3JpdGVBbGwiLCJyZWFkQWxsIl0sInByb2plY3QiOnt9fQ==`, Base64解码可得`{"app":["writeAll","readAll"],"project":{}}`,具体文档参考uniauth;