{"id":15039194,"url":"https://github.com/baeldung/spring-security-registration","last_synced_at":"2025-05-14T01:05:09.266Z","repository":{"id":5707477,"uuid":"52949435","full_name":"Baeldung/spring-security-registration","owner":"Baeldung","description":"Go further into \"Learn Spring Security\": ","archived":false,"fork":false,"pushed_at":"2025-01-16T09:00:00.000Z","size":29870,"stargazers_count":1662,"open_issues_count":3,"forks_count":1176,"subscribers_count":123,"default_branch":"master","last_synced_at":"2025-04-03T06:48:19.959Z","etag":null,"topics":["spring","spring-security"],"latest_commit_sha":null,"homepage":"https://bit.ly/github-lss","language":"Java","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/Baeldung.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"License.md","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":"2016-03-02T09:10:48.000Z","updated_at":"2025-04-02T01:27:59.000Z","dependencies_parsed_at":"2025-02-27T02:17:44.016Z","dependency_job_id":null,"html_url":"https://github.com/Baeldung/spring-security-registration","commit_stats":{"total_commits":193,"total_committers":45,"mean_commits":4.288888888888889,"dds":0.8549222797927462,"last_synced_commit":"37f166c4491b799e4edd58de3837c29b8e9adabc"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Baeldung%2Fspring-security-registration","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Baeldung%2Fspring-security-registration/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Baeldung%2Fspring-security-registration/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Baeldung%2Fspring-security-registration/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Baeldung","download_url":"https://codeload.github.com/Baeldung/spring-security-registration/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248208727,"owners_count":21065217,"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":["spring","spring-security"],"created_at":"2024-09-24T20:41:52.365Z","updated_at":"2025-04-10T11:37:13.637Z","avatar_url":"https://github.com/Baeldung.png","language":"Java","readme":"## Login and Registration Example Project with Spring Security\nIf you're already a student of Learn Spring Security, you can get started diving deeper into registration with Module 2 \u003c/br\u003e\nIf you're not yet a student, you can get access to the course here: https://bit.ly/github-lss\n\u003c/br\u003e\u003c/br\u003e\u003c/br\u003e\n\n\n### Relevant Articles: \n- [Spring Security Registration Series](https://www.baeldung.com/spring-security-registration)\n- [The Registration Process With Spring Security](https://www.baeldung.com/registration-with-spring-mvc-and-spring-security)\n- [Registration – Activate a New Account by Email](https://www.baeldung.com/registration-verify-user-by-email)\n- [Registration with Spring Security – Password Encoding](https://www.baeldung.com/spring-security-registration-password-encoding-bcrypt)\n- [Spring Security – Roles and Privileges](https://www.baeldung.com/role-and-privilege-for-spring-security-registration)\n- [Prevent Brute Force Authentication Attempts with Spring Security](https://www.baeldung.com/spring-security-block-brute-force-authentication-attempts)\n- [Spring Security – Reset Your Password](https://www.baeldung.com/spring-security-registration-i-forgot-my-password)\n- [Spring Security Registration – Resend Verification Email](https://www.baeldung.com/spring-security-registration-verification-email)\n- [The Registration API becomes RESTful](https://www.baeldung.com/registration-restful-api)\n- [Registration – Password Strength and Rules](https://www.baeldung.com/registration-password-strength-and-rules)\n- [Updating Your Password](https://www.baeldung.com/updating-your-password)\n- [Two Factor Auth with Spring Security](https://www.baeldung.com/spring-security-two-factor-authentication-with-soft-token)\n- [Registration with Spring – Integrate reCAPTCHA](https://www.baeldung.com/spring-security-registration-captcha)\n- [Purging Expired Tokens Generated by the Registration](https://www.baeldung.com/registration-token-cleanup)\n- [Custom Login Page for Returning User](https://www.baeldung.com/custom-login-page-for-returning-user)\n- [Allow Authentication from Accepted Locations Only with Spring Security](https://www.baeldung.com/spring-security-restrict-authentication-by-geography)\n- [Spring Security – Auto Login User After Registration](https://www.baeldung.com/spring-security-auto-login-user-after-registration)\n- [Keep Track of Logged in Users With Spring Security](https://www.baeldung.com/spring-security-track-logged-in-users)\n- [Login for a Spring Web App – Error Handling and Localization](https://www.baeldung.com/spring-security-login-error-handling-localization)\n- [Notify User of Login From New Device or Location](https://www.baeldung.com/spring-security-login-new-device-location)\n- [Preventing Username Enumeration Attacks with Spring Security](https://www.baeldung.com/spring-security-enumeration-attacks)\n\n\n### Build and Deploy the Project\n```\nmvn clean install\n```\n\nThis is a Spring Boot project, so you can deploy it by simply using the main class: `Application.java`\n\nOnce deployed, you can access the app at: \n\nhttps://localhost:8081\n\n\n### Set up MySQL\nBy default, the project is configured to use the embedded H2 database.\nIf you want to use the MySQL instead, you need to uncomment relevant section in the [application.properties](src/main/resources/application.properties) and create the db user as shown below:\n```\nmysql -u root -p \n\u003e CREATE USER 'tutorialuser'@'localhost' IDENTIFIED BY 'tutorialmy5ql';\n\u003e GRANT ALL PRIVILEGES ON *.* TO 'tutorialuser'@'localhost';\n\u003e FLUSH PRIVILEGES;\n```\n\n\n### Set up Email\n\nYou need to configure the email by providing your own username and password in application.properties\nYou also need to use your own host, you can use Amazon or Google for example.\n\n### AuthenticationSuccessHandler configuration for Custom Login Page article\nIf you want to activate the configuration for the article [Custom Login Page for Returning User](https://www.baeldung.com/custom-login-page-for-returning-user), then you need to comment the @Component(\"myAuthenticationSuccessHandler\") annotation in the MySimpleUrlAuthenticationSuccessHandler and uncomment the same in MyCustomLoginAuthenticationSuccessHandler.\n\n### Feature toggle for Geo IP Lib\nThe geolocation checks do not work for the IP addresses 127.0.0.1 and 0.0.0.0, \nwhich can be a problem when running the application locally or in a test environment.\nTo enable/disable the check on the geolocation, set the property `geo.ip.lib.enabled` to true/false; this is false by default.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaeldung%2Fspring-security-registration","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbaeldung%2Fspring-security-registration","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaeldung%2Fspring-security-registration/lists"}