{"id":15745725,"url":"https://github.com/hemantdwivedi/authentication-system","last_synced_at":"2025-06-15T02:32:42.789Z","repository":{"id":186350765,"uuid":"675019458","full_name":"hemantDwivedi/authentication-system","owner":"hemantDwivedi","description":"This repo contains a Authentication System.","archived":false,"fork":false,"pushed_at":"2023-08-06T19:30:53.000Z","size":83,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-31T06:13:55.343Z","etag":null,"topics":["authentication-backend","java","jwt-authentication","jwt-bearer-tokens","jwt-logout","springsecurity-jwt"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hemantDwivedi.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-08-05T14:05:33.000Z","updated_at":"2023-08-05T15:42:21.000Z","dependencies_parsed_at":"2023-10-22T22:00:20.392Z","dependency_job_id":null,"html_url":"https://github.com/hemantDwivedi/authentication-system","commit_stats":null,"previous_names":["hemantdwivedi/authentication-system"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hemantDwivedi/authentication-system","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hemantDwivedi%2Fauthentication-system","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hemantDwivedi%2Fauthentication-system/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hemantDwivedi%2Fauthentication-system/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hemantDwivedi%2Fauthentication-system/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hemantDwivedi","download_url":"https://codeload.github.com/hemantDwivedi/authentication-system/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hemantDwivedi%2Fauthentication-system/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259912464,"owners_count":22931069,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["authentication-backend","java","jwt-authentication","jwt-bearer-tokens","jwt-logout","springsecurity-jwt"],"created_at":"2024-10-04T04:21:42.104Z","updated_at":"2025-06-15T02:32:42.762Z","avatar_url":"https://github.com/hemantDwivedi.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Authentication System\n\nThis project is a simple authentication system. It demonstrate how to secure your APIs with spring security with JWT.\n## Project Structure\n\n```css\n├── src/\n|   ├── main/\n|   |   ├── java/\n|   |   |   └── com.assignment.authenticationsystem/\n|   |   |       ├── config/\n|   |   |       ├── controllers/\n|   |   |       ├── dto/\n|   |   |       ├── exception/\n|   |   |       ├── models/\n|   |   |       ├── repository/\n|   |   |       ├── security/\n|   |   |       └── services/\n|   |   |       ├── token/\n|   |   └── resources/\n|   |       ├── static/\n|   |       |── templates/\n|   |       └── application.properties/\n├── test/\n├── pom.xml\n└── README.md\n```\n## Prerequisites\n\n- Java 17\n- Maven\n- MySQL\n- Postman or Talend API Tester\n## Installation\n\n- Java Development Kit (JDK) 17 or higher: You can download the JDK from [Oracle](https://www.oracle.com/in/java/technologies/downloads/#:~:text=JDK%20Development%20Kit%2020.0.2%20downloads,x64_bin.rpm%20(sha256)%C2%A0(OL%208%20GPG%20Key))\n\n\n### Getting the Source Code\n\nClone the repository using [Git](https://git-scm.com/)\n\n- Run the following commands in your Terminal\n\n```bash\ngit clone https://github.com/hemantDwivedi/authentication-system.git\n\ncd authentication-system\n```\n\n### Configure Database and Environment\n1. Create a new database named ```'authentication_system'``` in your MYSQL.\n\n2. Open project folder in IntelliJ IDEA and wait till to download all neccessary dependencies.\n\n3. Open the ```application.properties``` file located in the ```src/main/resources``` directory.\n\n4. Update the database connection properties (e.g., ```spring.datasource.url, spring.datasource.username, spring.datasource.password```) to match your database configuration.\n\n5. Right Click on AuthenticationSystemApplication.java located in the ```src/main/java/com.assignment.authenticationsystem``` and run the applcation.\n\nOnce the application is running, you can test APIs in your [Postman](https://www.postman.com/downloads/) or with chrome extention [Talend API Tester](https://chrome.google.com/webstore/detail/talend-api-tester-free-ed/aejoelaoggembcahagimdiliamlcdmfm).\n\n## Use Cases\n\n- To create a new user, make a ```POST``` request to ```/api/v1/register``` with user details (e.g. username, password, email) in the request body.\n\n- To generate JWT Token, make a ```POST``` request to ```/api/v1/login```\n\n- ```GET /api/v1/admin``` only accessible by ADMIN user.\n\n- To logout, make a ```GET``` request to ```/api/v1/logout```. It will logged out user and invalidate the JWT token.\n\n\n## Running Tests\n\nTo run tests, run the following command\n\n```bash\n  mvn test\n```\n\nThis command will execute all the unit tests in the project, and the test results will be displayed in the console.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhemantdwivedi%2Fauthentication-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhemantdwivedi%2Fauthentication-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhemantdwivedi%2Fauthentication-system/lists"}