{"id":15066086,"url":"https://github.com/dhruvpatel-7/advanceauthentication-system","last_synced_at":"2025-04-10T13:40:54.511Z","repository":{"id":255843442,"uuid":"853727221","full_name":"Dhruvpatel-7/AdvanceAuthentication-System","owner":"Dhruvpatel-7","description":"This is An Advance level Login and register with Use of Angular and .net web api. In this Project I use Jwt, password Hashing ,refresh Token ,Rolebase Authentication and Validation. ","archived":false,"fork":false,"pushed_at":"2024-09-13T06:23:48.000Z","size":2765,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-24T12:21:28.803Z","etag":null,"topics":["angular","dotnet","jwt-authentication","passwordhasher","refresh-token","validation","webapi-core"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dhruvpatel-7.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2024-09-07T11:14:47.000Z","updated_at":"2024-09-23T15:31:27.000Z","dependencies_parsed_at":"2025-02-17T09:31:55.496Z","dependency_job_id":"bfc56973-c84f-478c-acc6-8acf89d9dcd7","html_url":"https://github.com/Dhruvpatel-7/AdvanceAuthentication-System","commit_stats":null,"previous_names":["dhruvpatel-7/advancelogin"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dhruvpatel-7%2FAdvanceAuthentication-System","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dhruvpatel-7%2FAdvanceAuthentication-System/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dhruvpatel-7%2FAdvanceAuthentication-System/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dhruvpatel-7%2FAdvanceAuthentication-System/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dhruvpatel-7","download_url":"https://codeload.github.com/Dhruvpatel-7/AdvanceAuthentication-System/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248225966,"owners_count":21068091,"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":["angular","dotnet","jwt-authentication","passwordhasher","refresh-token","validation","webapi-core"],"created_at":"2024-09-25T01:01:23.024Z","updated_at":"2025-04-10T13:40:54.492Z","avatar_url":"https://github.com/Dhruvpatel-7.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Advance Authentication System\n\n\u003c!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 --\u003e\n\u003ca id=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/othneildrew/Best-README-Template\"\u003e\n    \u003cimg src=\"images/logo.png\" alt=\"Logo\" width=\"80\" height=\"80\"\u003e\n  \u003c/a\u003e\n\n  \u003ch3 align=\"center\"\u003eAdvance Login\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    An awesome Login and register With Jwt ,Passwordhash, Refreshtoken Authentication Authorization.you can directly use this code in any Angular, .net website for best authentication.\n    \u003cbr /\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n### Built With\n\n\u003cp align=\"left\"\u003e \u003ca href=\"https://angular.io\" target=\"_blank\" rel=\"noreferrer\"\u003e \u003cimg src=\"https://angular.io/assets/images/logos/angular/angular.svg\" alt=\"angular\" width=\"40\" height=\"40\"/\u003e \u003c/a\u003e \u003ca href=\"https://getbootstrap.com\" target=\"_blank\" rel=\"noreferrer\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/bootstrap/bootstrap-plain-wordmark.svg\" alt=\"bootstrap\" width=\"40\" height=\"40\"/\u003e \u003c/a\u003e \u003ca href=\"https://www.w3schools.com/cs/\" target=\"_blank\" rel=\"noreferrer\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/csharp/csharp-original.svg\" alt=\"csharp\" width=\"40\" height=\"40\"/\u003e \u003c/a\u003e \u003ca href=\"https://www.w3schools.com/css/\" target=\"_blank\" rel=\"noreferrer\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/css3/css3-original-wordmark.svg\" alt=\"css3\" width=\"40\" height=\"40\"/\u003e \u003c/a\u003e \u003c/a\u003e \u003ca href=\"https://dotnet.microsoft.com/\" target=\"_blank\" rel=\"noreferrer\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/dot-net/dot-net-original-wordmark.svg\" alt=\"dotnet\" width=\"40\" height=\"40\"/\u003e \u003c/a\u003e \u003ca href=\"https://git-scm.com/\" target=\"_blank\" rel=\"noreferrer\"\u003e \u003cimg src=\"https://www.vectorlogo.zone/logos/git-scm/git-scm-icon.svg\" alt=\"git\" width=\"40\" height=\"40\"/\u003e \u003c/a\u003e \u003ca href=\"https://www.w3.org/html/\" target=\"_blank\" rel=\"noreferrer\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/html5/html5-original-wordmark.svg\" alt=\"html5\" width=\"40\" height=\"40\"/\u003e \u003c/a\u003e \u003ca href=\"https://developer.mozilla.org/en-US/docs/Web/JavaScript\" target=\"_blank\" rel=\"noreferrer\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/javascript/javascript-original.svg\" alt=\"javascript\" width=\"40\" height=\"40\"/\u003e \u003c/a\u003e \u003ca href=\"https://karma-runner.github.io/latest/index.html\" target=\"_blank\" rel=\"noreferrer\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/detain/svg-logos/780f25886640cef088af994181646db2f6b1a3f8/svg/karma.svg\" alt=\"karma\" width=\"40\" height=\"40\"/\u003e \u003c/a\u003e \u003ca href=\"https://www.microsoft.com/en-us/sql-server\" target=\"_blank\" rel=\"noreferrer\"\u003e   \u003c/a\u003e \u003ca href=\"https://postman.com\" target=\"_blank\" rel=\"noreferrer\"\u003e \u003cimg src=\"https://www.vectorlogo.zone/logos/getpostman/getpostman-icon.svg\" alt=\"postman\" width=\"40\" height=\"40\"/\u003e \u003c/a\u003e \u003ca href=\"https://www.python.org\" target=\"_blank\" rel=\"noreferrer\"\u003e \u003c/a\u003e \u003ca href=\"https://www.typescriptlang.org/\" target=\"_blank\" rel=\"noreferrer\"\u003e \u003cimg src=\"https://www.svgrepo.com/show/303229/microsoft-sql-server-logo.svg\" alt=\"mssql\" width=\"40\" height=\"40\"/\u003e \u003c/a\u003e \u003ca href=\"https://www.mysql.com/\" target=\"_blank\" rel=\"noreferrer\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/devicons/devicon/master/icons/typescript/typescript-original.svg\" alt=\"typescript\" width=\"40\" height=\"40\"/\u003e \u003c/a\u003e \u003c/p\u003e\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n## About The Project\n\nThis Project Mainy use ful for those people Who dont want to waste more time in create login process with oll the security stuff they can just download and edit some code and 💥 boom its done.\n## Overview\n\nThis project is an authentication system designed to manage user registration, login, and secure sessions using JSON Web Tokens (JWT). It features mechanisms for password hashing and token refreshing to enhance security and user experience.\n\n## Key Features\n\n### 1. User Registration\n- **Purpose**: Allows new users to create an account.\n- **Process**:\n  - Users provide their credentials (e.g., username, email, and password).\n  - Passwords are hashed using a secure hashing algorithm (e.g., bcrypt) before storage.\n  - User data, including the hashed password, is saved in a database.\n\n### 2. User Login\n- **Purpose**: Authenticates users and issues access tokens.\n- **Process**:\n  - Users submit their credentials (username/email and password).\n  - The provided password is hashed and compared with the stored hashed password in the database.\n  - Upon successful authentication, an access token (JWT) is generated and returned.\n\n### 3. JWT (JSON Web Token)\n- **Purpose**: Provides a secure way to transmit information between parties.\n- **Usage**:\n  - After successful login, a JWT containing user information and an expiration time is generated.\n  - The token is signed with a secret key to ensure its integrity and authenticity.\n  - The token is included in the `Authorization` header of subsequent requests to access protected routes.\n\n### 4. Refresh Token\n- **Purpose**: Allows users to obtain a new access token without re-authenticating.\n- **Usage**:\n  - Alongside the access token, a refresh token is issued.\n  - When the access token expires, the refresh token can be used to request a new access token.\n  - Refresh tokens have a longer expiration time and are stored securely on the client-side.\n\n### 5. Password Hashing\n- **Purpose**: Enhances security by protecting user passwords.\n- **Process**:\n  - Passwords are hashed using a strong algorithm (e.g., bcrypt) before storage.\n  - During login, the entered password is hashed and compared with the stored hashed password.\n\n## Security Considerations\n- **Hashing Algorithm**: Use a strong and well-established hashing algorithm like bcrypt or Argon2.\n- **JWT Secret**: Ensure the JWT secret key is kept secure.\n- **Token Expiry**: Implement appropriate expiration times for both access and refresh tokens.\n- **Secure Storage**: Store refresh tokens securely on the client side (e.g., in HTTP-only cookies).\n\n## Screenshots\n\nHere is a screenshot of the application:\n\n![Application Screenshot](images/screenshot.png)\n\n\n## License\n\nDistributed under the MIT License. See `LICENSE.txt` for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n## Contact\n\nYour Name- Dhruv Patel - dnp1982002@gmail.com\n\nProject Link: https://github.com/Dhruvpatel-7/AdvanceLogin\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhruvpatel-7%2Fadvanceauthentication-system","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdhruvpatel-7%2Fadvanceauthentication-system","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdhruvpatel-7%2Fadvanceauthentication-system/lists"}