- Notifications
You must be signed in to change notification settings - Fork34
🔑 Sample Spring boot application secured using JWT auth in custom header(X-Auth-Token).
License
NotificationsYou must be signed in to change notification settings
Nasruddin/spring-boot-3-jwt-auth
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
🔑 Sample Spring boot 3 application for Authentication and Authorization
- Customizable header(X-Auth-Token) to pass Auth token.
- JWT for token creation and validation.
- Role based authorization.
- Device based auth.
- Custom Validators
- Spring doc.
mvn spring-boot:runcurl -X POST "http://localhost:9000/api/auth/register" -H "accept: */*" -H "Content-Type: application/json" -d "{\"username\":\"nasruddin\",\"password\":\"p@ssw00d\",\"device\":\"web\",\"email\":\"nasruddin@gmail.com\"}"{ "id":2, "username":"nasruddin", "password":"$2a$10$U3CR4T1Gowd50Q.0yK/UuOh.XWVx0BYIe7BiAmymXZ.MYPUtU5F.e", "email":"nasruddin@gmail.com", "lastPasswordReset":"2023-09-14T08:41:10.080+00:00", "authorities":"ADMIN"}H2-console can be accessed athttp://localhost:9000/api/h2-console
curl -X POST "http://localhost:9000/api/auth" -H "accept: */*" -H "Content-Type: application/json" -d "{\"username\":\"nasruddin\",\"password\":\"p@ssw00d\",\"device\":\"web\"}"{"token":"eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJuYXNydWRkaW4iLCJhdWRpZW5jZSI6IndlYiIsImNyZWF0ZWQiOjE2OTQ2ODE2ODE3MDUsImV4cCI6MTY5NTI4NjQ4MX0.MydwIWzN3SgCvB8cYozKcR2tHMCM5nrIPXUBtx4o82ot1taL_NQM5TRHZ4yOc9uUcZFrz1XQAL_fDNXAIwmZxw"}Without setting X-AUTH-TOKEN
curl -X GET "http://localhost:9000/api/user/nasruddin" -H "accept: */*"{ "timestamp":"2023-09-14T08:57:08.403+00:00", "status":401, "error":"Unauthorized", "path":"/api/user/nasruddin"}With setting X-AUTH-TOKEN
curl -X GET "http://localhost:9000/api/users/nasruddin" -H "accept: */*" -H "X-Auth-Token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJuYXNydWRkaW4iLCJhdWRpZW5jZSI6IndlYiIsImNyZWF0ZWQiOjE2OTQ2ODE2ODE3MDUsImV4cCI6MTY5NTI4NjQ4MX0.MydwIWzN3SgCvB8cYozKcR2tHMCM5nrIPXUBtx4o82ot1taL_NQM5TRHZ4yOc9uUcZFrz1XQAL_fDNXAIwmZxw"{ "id":1, "username":"nasruddin", "password":"$2a$10$dq6uFlehtetsfI6glLkA.OaeoIEu5PPqIVNZHDMCCiEej8b/0vhWa","email":"nasruddin@gmail.com", "lastPasswordReset":"2023-09-14T08:42:37.758+00:00", "authorities":"ADMIN"}curl -X GET "http://localhost:9000/api/admin" -H "accept: */*" -H "X-Auth-Token: eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJuYXNydWRkaW4iLCJhdWRpZW5jZSI6IndlYiIsImNyZWF0ZWQiOjE2OTQ2ODE2ODE3MDUsImV4cCI6MTY5NTI4NjQ4MX0.MydwIWzN3SgCvB8cYozKcR2tHMCM5nrIPXUBtx4o82ot1taL_NQM5TRHZ4yOc9uUcZFrz1XQAL_fDNXAIwmZxw":O- Swagger can be accessed athttp://localhost:9000/api/swagger-ui/index.html
- API Docs can be accessed athttp://localhost:9000/api/api-docs

About
🔑 Sample Spring boot application secured using JWT auth in custom header(X-Auth-Token).
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
No packages published
Uh oh!
There was an error while loading.Please reload this page.
Contributors3
Uh oh!
There was an error while loading.Please reload this page.

