joaodddev/auth-api-jwt
GitHub: joaodddev/auth-api-jwt
一个基于 Go + Gin + JWT 的身份验证 API 示例项目,展示了用户注册、登录、令牌签发与密码哈希等后端安全实践。
Stars: 0 | Forks: 0
# 🔐 Go Auth API (JWT)
使用 Go 和 JWT (JSON Web Token) 开发的身份验证 API,侧重于后端最佳实践、安全性和分层架构。
## 🚀 技术
* Go (Golang)
* Gin (HTTP 框架)
* GORM (ORM)
* SQLite (数据库)
* JWT (身份验证)
* bcrypt (密码哈希)
## 🧠 架构
项目遵循基于职责分离的模块化结构:
```
cmd/
internal/
controller/
service/
repository/
model/
dto/
middleware/
pkg/
database/
configs/
```
## 🔐 功能
* ✅ 用户注册
* ✅ 带凭据验证的登录
* ✅ 生成 JWT token
* ✅ 使用 bcrypt 进行密码安全哈希
* ✅ 为受保护路由准备的结构
## 📡 端点
### 📌 注册
```
POST /register
```
**Body:**
```
{
"email": "user@email.com",
"password": "123456"
}
```
### 📌 登录
```
POST /login
```
**响应:**
```
{
"token": "jwt_token_aqui"
}
```
## ▶️ 如何运行
```
# 克隆仓库
git clone https://github.com/seu-usuario/go-auth-jwt-api
# 进入文件夹
cd go-auth-jwt-api
# 安装依赖
go mod tidy
# 运行项目
go run cmd/main.go
```
API 将在以下地址可用:
```
http://localhost:8080
```
## 🧪 测试 API
你可以使用:
* Thunder Client (VS Code)
* Postman
* Insomnia
## 🔒 安全性
* 使用哈希 存储密码
* 带过期时间的 JWT token
* 为身份验证 middleware 准备好的结构
## 💡 项目目标
本项目的开发重点在于实践:
* 在 Go 中构建 REST API
* 使用 JWT 进行身份验证
* 分层组织代码
* 安全最佳实践
## 👨💻 作者
由 João Victor 开发 🚀
标签:API安全, bcrypt, DNS解析, Gin框架, Go, Golang, GORM, JSON Web Token, JSON输出, JWT, RESTful API, Ruby工具, SQLite, Syscall, Token验证, Web开发, 中间件, 分层架构, 后端开发, 安全哈希, 安全编程, 密码加密, 开源项目, 微服务基础, 提示词优化, 日志审计, 用户注册, 登录认证