This project is a simple auth server.
It uses JWT as security mechanism.
- Spring Boot
- Spring Security
- Spring Jpa
- H2 Database
1. Clone the application
git clone https://github.com/onurcantimur/auth-server
4. Run the app using maven
mvn spring-boot:run
The app will start running at http://localhost
Method | Url | Decription | Sample Valid Request Body |
---|---|---|---|
POST | /api/v1/auth/signup | Sign up | JSON |
POST | /api/v1/auth/signin | Log in | JSON |
POST | /api/v1/auth/signout | Sign out | JSON |
POST | /api/v1/auth/refresh | Refresh token | JSON |
Method | Url | Description | Sample Valid Request Body |
---|---|---|---|
GET | /api/v1/users | Get all users (Only for admins) | |
GET | /api/v1/users/{username} | Get user information by username | |
POST | /api/v1/users | Add user | JSON |
PUT | /api/v1/users/{username} | Update user (For logged in user or admin) | JSON |
DELETE | /api/v1/users/{username} | Delete user (For logged in user or admin) |
Method | Url | Description | Sample Valid Request Body |
---|---|---|---|
GET | /api/v1/roles | Get all roles (Only for admins) | |
POST | /api/v1/roles | Add role (Only for admins) | JSON |
POST | /api/v1/roles/addtouser | Add role (Only for admins) | JSON |
Test them using postman or any other rest client.
{
"fullName": "John Doe",
"username": "john.doe",
"email": "john.doe@testuser.com",
"password": "john.doe@1234"
}
{
"username": "john.doe",
"password": "john.doe@1234"
}
{
"token": "8f96as..."
}
{
"token": "761b7d..."
}
{
"userName": "john.doe",
"fullName": "John Doe",
"email": "john.doe@testuser.com",
"password": "john.doe@1234"
}
{
"id": 1,
"userName": "joh.doe",
"fullName": "John Doe",
"email": "john.doe@testuser.com",
"password": "john.doe@1234"
}
{
"name": "ROLE_NEW_TEST"
}
{
"userName": "john.doe",
"roleName": "ROLE_ADMIN"
}
Id | Role Name |
---|---|
1 | ROLE_SUPER_ADMIN |
2 | ROLE_ADMIN |
3 | ROLE_USER |
Username | Full Name | Roles | |
---|---|---|---|
root | Super Admin | superadmin@testuser.com | ROLE_SUPER_ADMIN, ROLE_ADMIN, ROLE_USER |
admin | Admin | admin@testuser.com | ROLE_ADMIN, ROLE_USER |
user | User | user@testuser.com | ROLE_USER |
testuser | Test User | testuser@testuser.com | ROLE_USER |