Skip to content

Commit

Permalink
更新 README.md ,完善部署步骤。
Browse files Browse the repository at this point in the history
  • Loading branch information
Hansin1997 committed Mar 13, 2021
1 parent 4b6e2e0 commit f128183
Showing 1 changed file with 134 additions and 12 deletions.
146 changes: 134 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,25 @@
# Auth
[![Docker Build Status](https://img.shields.io/github/workflow/status/dustlight-cn/auth/Docker%20Image%20CI)](https://github.com/dustlight-cn/auth/actions/)
[![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/dustlight-cn/auth?include_prereleases)](https://github.com/dustlight-cn/auth/releases)
[![Docker Image Size (latest semver)](https://img.shields.io/docker/image-size/dustlightcn/auth-service?logo=docker)](https://hub.docker.com/repository/docker/dustlightcn/auth-service)
[![Docker Image Version (latest semver)](https://img.shields.io/docker/v/dustlightcn/auth-service?label=image%20version&logo=docker)](https://hub.docker.com/repository/docker/dustlightcn/auth-service)

[简介](#简介) | [展示](#展示) | [部署](#部署) | [构建](#构建) | [鸣谢](#鸣谢)

## 简介

**Auth** 是一个基于 **Spring Boot****OAuth2.0** 的授权与管理服务。 提供 OAuth2.0 授权服务,以及包括用户、应用、角色与权限的管理。 提供 Restful 接口以及 OpenAPI 文档。
提供前端页面。 支持微服务部署。
**Auth** 是一个基于 **Spring Boot****OAuth2.0 用户中心**。 提供 OAuth2.0 授权与管理服务,以及包括用户、应用、角色与权限的管理。 提供 Restful 接口以及 OpenAPI 文档。
提供基于 **Vue** & **Quasar** 的前端页面。 支持微服务部署。

> [在线展示](#展示)
> [在线展示](https://accounts.dustlight.cn/)
>
> [获取测试账号](#前端展示) (拥有创建应用权限,查看所有用户信息以及查看所有应用信息权限。)
### 后端

* 通过重写 **Spring Security OAuth2** 中的 Endpoint 实现前后端分离架构,使用 **Redis** 存储 Token、授权码、验证码等。
* 基于 **MySQL** & **MyBatis** 实现包括用户管理、应用管理、权限与角色管理等业务。
* 文件储存通过第三方服务实现,登录注册等接口通过谷歌 reCAPTCHA 人机识别进行验证。
* 文件储存通过第三方服务实现(同时支持本地储存),登录注册等接口通过谷歌 reCAPTCHA 人机识别进行验证。
* 使用 **Spring Doc** & **Swagger-UI** 生成 **OpenAPI** 文档和 API 调试页面。

### 前端
Expand Down Expand Up @@ -44,7 +50,7 @@
| bbbbbb | 123456 |

> 1. 出于功能展示的目的,测试账号拥有查看所有用户信息的权限。如果您打算进行注册账号,您的电子邮箱地址可能会被其他人看到。
> 2. 若上述测试账号均不可用,请 [创建 Issue](https://github.com/dustlight-cn/auth/issues/new) 联系我们
> 2. 若上述测试账号均不可用,请 [创建 Issue](https://github.com/dustlight-cn/auth/issues/new) 联系我
### 接口浏览

Expand All @@ -58,13 +64,129 @@
## 部署

### Docker 镜像

```dustlightcn/auth-service```
![Docker Image Size (latest semver)](https://img.shields.io/docker/image-size/dustlightcn/auth-service?logo=docker)
![Docker Image Version (latest semver)](https://img.shields.io/docker/v/dustlightcn/auth-service?label=version)

### Kubernetes配置
### 本地部署

#### 获取可执行 Jar
您可以从 [Release](https://github.com/dustlight-cn/auth/releases)
下载编译完成的可执行 Jar 包,
也可以选择进行 [手动构建](#构建后端服务)

#### 部署后端服务
> 运行之前请安装 [JRE](https://www.oracle.com/java/technologies/javase-jre8-downloads.html)
配置文件:application.yaml

```yaml
mysql:
host: "instance-2" # MySQL 服务器地址
port: 30010 # MySQL 服务端口
db: auth # MySQL 数据库
charset: "utf8" # 字符编码
ssl: false # 连接启用 SSL
username: "root" # 数据库用户名
password: "123456" # 数据库密码
redis:
host: "instance-2" # Redis 服务器地址
port: 30020 # Redis 服务端口
password: "" # Redis 密码

dustlight:
auth:
storage:
storage-type: local # 储存模式,可选本地储存或者云储存。(local | storage)
prefix: "upload/auth/" # 储存地址前缀:本地储存模式为文件名的前缀,云储存模式则为存储对象 key 的前缀。
base-url: "./" # 使用本地储存时为文件储存目录,如 './upload/'。当启用云储存时,自定义域名以及协议,如 'https://accounts.dustlight.cn/'。(通常用于 CDN)
simple-mode: true # 当云储存启用时,是否省略生成的签名。(可以避免 CDN 缓存失效)
default-expiration: 900000 # 当云储存启用时,生成签名的有效期。(单位为毫秒,默认为15分钟)
service:
pattern:
username: "^[a-zA-Z]([-_a-zA-Z0-9]{5,19})$" # 用户名正则限制
email: "^\\S+@\\S+$" # 邮箱地址正则限制
password: "^.{6,20}$" # 密码正则限制
# 验证码配置,详情请参考:https://github.com/dustlight-cn/captcha
captcha:
default:
store:
name: redisCodeStore
recaptcha:
default-secret: "6Lcp1xAaAAAAAJh6jmR8oWjEiqwGgbBTS7BnDpbX"
default-parameter-name: "g-recaptcha-response"
generator:
random-string:
chars: "0123456789"
length: 6
verifier:
string-equals:
trim: true
# 对象存储配置,详情请参考:https://github.com/dustlight-cn/storage
storage:
tencent:
cos:
enabled: false
```
运行服务:
```
java -jar auth-service-X.X.X.jar
```

#### 获取前端 UI
您可以从 [Release](https://github.com/dustlight-cn/auth/releases)
下载构建完成的压缩文件,也可以选择进行 [手动构建](#构建前端%20UI)

#### 部署前端 UI

解压下载的压缩文件或者构建完成的 ```dist/spa``` 目录下的文件到您的 Web 目录,并为其进行 SPA 配置。

下面为 Nginx 的示例:

```
server {
listen 80 http2;
server_name quasar.myapp.com;
root /home/user/quasar.myapp.com/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";
index index.html;
charset utf-8;
location / {
try_files $uri $uri/ /index.html;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
access_log off;
error_log /var/log/nginx/quasar.myapp.com-error.log error;
location ~ /\.(?!well-known).* {
deny all;
}
}
```

其他 Web 服务器配置请 [参考此处](http://www.quasarchs.com/quasar-cli/developing-spa/deploying/) ,或者搜索对应的关键字 ”单页面应用 部署“。

### Docker 部署

#### 拉取镜像

最新版本:
[![Docker Image Version (latest semver)](https://img.shields.io/docker/v/dustlightcn/auth-service?label=version)](https://hub.docker.com/repository/docker/dustlightcn/auth-service)

拉取镜像:
```docker push dustlightcn/auth-service:版本号```

####

### Kubernetes 部署

待完善

Expand Down

0 comments on commit f128183

Please sign in to comment.