{"id":15030610,"url":"https://github.com/callicoder/spring-boot-react-oauth2-social-login-demo","last_synced_at":"2025-05-15T17:09:24.298Z","repository":{"id":39365870,"uuid":"151035781","full_name":"callicoder/spring-boot-react-oauth2-social-login-demo","owner":"callicoder","description":"Spring Boot React OAuth2 Social Login with Google, Facebook, and Github","archived":false,"fork":false,"pushed_at":"2023-10-11T11:12:05.000Z","size":2549,"stargazers_count":1501,"open_issues_count":44,"forks_count":708,"subscribers_count":46,"default_branch":"master","last_synced_at":"2025-04-07T22:11:11.642Z","etag":null,"topics":["authentication","facebook-login","github-login","google-login","oauth2","oauth2-login","react","react-oauth2","social-authentication","social-login","spring","spring-boot","spring-boot-oauth2","spring-security","spring-security-oauth2"],"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/callicoder.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":"2018-10-01T04:19:38.000Z","updated_at":"2025-04-05T08:56:08.000Z","dependencies_parsed_at":"2024-09-21T06:00:37.325Z","dependency_job_id":"000b619b-4b2c-4311-a66a-6ba8e0c573c6","html_url":"https://github.com/callicoder/spring-boot-react-oauth2-social-login-demo","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callicoder%2Fspring-boot-react-oauth2-social-login-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callicoder%2Fspring-boot-react-oauth2-social-login-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callicoder%2Fspring-boot-react-oauth2-social-login-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/callicoder%2Fspring-boot-react-oauth2-social-login-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/callicoder","download_url":"https://codeload.github.com/callicoder/spring-boot-react-oauth2-social-login-demo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254384989,"owners_count":22062422,"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","facebook-login","github-login","google-login","oauth2","oauth2-login","react","react-oauth2","social-authentication","social-login","spring","spring-boot","spring-boot-oauth2","spring-security","spring-security-oauth2"],"created_at":"2024-09-24T20:13:51.307Z","updated_at":"2025-05-15T17:09:19.290Z","avatar_url":"https://github.com/callicoder.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Spring Boot React OAuth2 Social Login Demo\n\n![App Screenshot](screenshot.png)\n\n## Setting up the Backend Server (spring-social)\n\n+ **Create MySQL database**\n\n\t```bash\n\tmysql\u003e create database spring_social\n\t```\n\n+ **Configure database username and password**\n\n\t```yml\n\t# spring-social/src/main/resources/application.yml\n\tspring:\n\t    datasource:\n\t        url: jdbc:mysql://localhost:3306/spring_social?useSSL=false\n\t        username: \u003cYOUR_DB_USERNAME\u003e\n\t        password: \u003cYOUR_DB_PASSWORD\u003e\n\t```\n\n+ **Specify OAuth2 Provider ClientId's and ClientSecrets**\n\t\n\t\u003e This is optional if you're testing the app in localhost. A demo clientId and clientSecret is already specified.\n\n\t```yml\n    security:\n      oauth2:\n        client:\n          registration:\n            google:\n              clientId: \u003cGOOGLE_CLIENT_ID\u003e\n              clientSecret: \u003cGOOGLE_CLIENT_SECRET\u003e\n              redirectUriTemplate: \"{baseUrl}/oauth2/callback/{registrationId}\"\n              scope:\n                - email\n                - profile\n            facebook:\n              clientId: \u003cFACEBOOK_CLIENT_ID\u003e\n              clientSecret: \u003cFACEBOOK_CLIENT_SECRET\u003e\n              redirectUriTemplate: \"{baseUrl}/oauth2/callback/{registrationId}\"\n              scope:\n                - email\n                - public_profile\n            github:\n              clientId: \u003cGITHUB_CLIENT_ID\u003e\n              clientSecret: \u003cGITHUB_CLIENT_SECRET\u003e\n              redirectUriTemplate: \"{baseUrl}/oauth2/callback/{registrationId}\"\n              scope:\n                - user:email\n                - read:user\n          provider:\n            facebook:\n              authorizationUri: https://www.facebook.com/v3.0/dialog/oauth\n              tokenUri: https://graph.facebook.com/v3.0/oauth/access_token\n              userInfoUri: https://graph.facebook.com/v3.0/me?fields=id,first_name,middle_name,last_name,name,email,verified,is_verified,picture.width(250).height(250)\n\t```\n\n\t*Please make sure that `http://localhost:8080/oauth2/callback/\u003cprovider\u003e`* is added as an authorized redirect uri in the OAuth2 provider. For example, In your [Google API console](https://console.developers.google.com/projectselector/apis/credentials?pli=1), make sure that `http://localhost:8080/oauth2/callback/google` is added in the **Authorized redirect URIs**\n\n\t*Also, make sure that the above mentioned scopes are added in the OAuth2 provider console.*\tFor example, scope `email` and `profile` should be added in your Google project's OAuth2 consent screen.\n\n+ **Run spring-social**\n\n\t```bash\n\tmvn spring-boot:run\n\t```\n\n## Setting up the Frontend Server (react-social)\n\n```bash\ncd react-social\nnpm install \u0026\u0026 npm start\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcallicoder%2Fspring-boot-react-oauth2-social-login-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcallicoder%2Fspring-boot-react-oauth2-social-login-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcallicoder%2Fspring-boot-react-oauth2-social-login-demo/lists"}