├── backend ├── .gitignore ├── build.gradle ├── document │ ├── oauth2-1.png │ ├── oauth2-1.puml │ ├── oauth2-2.png │ ├── oauth2-2.puml │ ├── oauth2-flow.png │ └── oauth2-flow.puml ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── settings.gradle └── src │ ├── main │ ├── java │ │ └── com │ │ │ └── example │ │ │ └── oauth2 │ │ │ ├── Oauth2Application.java │ │ │ ├── config │ │ │ ├── RestTemplateConfig.java │ │ │ └── SecurityConfig.java │ │ │ ├── hello │ │ │ └── controller │ │ │ │ └── HelloController.java │ │ │ ├── jwt │ │ │ ├── JwtAuthorizationFilter.java │ │ │ └── TokenProvider.java │ │ │ ├── oauth2 │ │ │ ├── HttpCookieOAuth2AuthorizationRequestRepository.java │ │ │ ├── exception │ │ │ │ └── OAuth2AuthenticationProcessingException.java │ │ │ ├── handler │ │ │ │ ├── OAuth2AuthenticationFailureHandler.java │ │ │ │ └── OAuth2AuthenticationSuccessHandler.java │ │ │ ├── service │ │ │ │ ├── CustomOAuth2UserService.java │ │ │ │ └── OAuth2UserPrincipal.java │ │ │ ├── user │ │ │ │ ├── GoogleOAuth2UserInfo.java │ │ │ │ ├── GoogleOAuth2UserUnlink.java │ │ │ │ ├── KakaoOAuth2UserInfo.java │ │ │ │ ├── KakaoOAuth2UserUnlink.java │ │ │ │ ├── NaverOAuth2UserInfo.java │ │ │ │ ├── NaverOAuth2UserUnlink.java │ │ │ │ ├── OAuth2Provider.java │ │ │ │ ├── OAuth2UserInfo.java │ │ │ │ ├── OAuth2UserInfoFactory.java │ │ │ │ ├── OAuth2UserUnlink.java │ │ │ │ └── OAuth2UserUnlinkManager.java │ │ │ └── util │ │ │ │ └── CookieUtils.java │ │ │ └── user │ │ │ └── controller │ │ │ └── UserController.java │ └── resources │ │ └── application.yml │ └── test │ └── java │ └── com │ └── example │ └── oauth2 │ └── Oauth2ApplicationTests.java └── frontend ├── .gitignore ├── README.md ├── package-lock.json ├── package.json ├── public ├── favicon.ico ├── index.html ├── logo192.png ├── logo512.png ├── manifest.json └── robots.txt └── src ├── App.css ├── App.js ├── App.test.js ├── Home.js ├── Info.js ├── SignUp.js ├── index.css ├── index.js ├── logo.svg ├── reportWebVitals.js └── setupTests.js /backend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/.gitignore -------------------------------------------------------------------------------- /backend/build.gradle: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/build.gradle -------------------------------------------------------------------------------- /backend/document/oauth2-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/document/oauth2-1.png -------------------------------------------------------------------------------- /backend/document/oauth2-1.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/document/oauth2-1.puml -------------------------------------------------------------------------------- /backend/document/oauth2-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/document/oauth2-2.png -------------------------------------------------------------------------------- /backend/document/oauth2-2.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/document/oauth2-2.puml -------------------------------------------------------------------------------- /backend/document/oauth2-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/document/oauth2-flow.png -------------------------------------------------------------------------------- /backend/document/oauth2-flow.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/document/oauth2-flow.puml -------------------------------------------------------------------------------- /backend/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /backend/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/gradle/wrapper/gradle-wrapper.properties -------------------------------------------------------------------------------- /backend/gradlew: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/gradlew -------------------------------------------------------------------------------- /backend/gradlew.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/gradlew.bat -------------------------------------------------------------------------------- /backend/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'oauth2' 2 | -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/Oauth2Application.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/Oauth2Application.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/config/RestTemplateConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/config/RestTemplateConfig.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/config/SecurityConfig.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/config/SecurityConfig.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/hello/controller/HelloController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/hello/controller/HelloController.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/jwt/JwtAuthorizationFilter.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/jwt/JwtAuthorizationFilter.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/jwt/TokenProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/jwt/TokenProvider.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/oauth2/HttpCookieOAuth2AuthorizationRequestRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/oauth2/HttpCookieOAuth2AuthorizationRequestRepository.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/oauth2/exception/OAuth2AuthenticationProcessingException.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/oauth2/exception/OAuth2AuthenticationProcessingException.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/oauth2/handler/OAuth2AuthenticationFailureHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/oauth2/handler/OAuth2AuthenticationFailureHandler.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/oauth2/handler/OAuth2AuthenticationSuccessHandler.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/oauth2/handler/OAuth2AuthenticationSuccessHandler.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/oauth2/service/CustomOAuth2UserService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/oauth2/service/CustomOAuth2UserService.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/oauth2/service/OAuth2UserPrincipal.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/oauth2/service/OAuth2UserPrincipal.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/oauth2/user/GoogleOAuth2UserInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/oauth2/user/GoogleOAuth2UserInfo.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/oauth2/user/GoogleOAuth2UserUnlink.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/oauth2/user/GoogleOAuth2UserUnlink.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/oauth2/user/KakaoOAuth2UserInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/oauth2/user/KakaoOAuth2UserInfo.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/oauth2/user/KakaoOAuth2UserUnlink.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/oauth2/user/KakaoOAuth2UserUnlink.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/oauth2/user/NaverOAuth2UserInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/oauth2/user/NaverOAuth2UserInfo.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/oauth2/user/NaverOAuth2UserUnlink.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/oauth2/user/NaverOAuth2UserUnlink.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/oauth2/user/OAuth2Provider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/oauth2/user/OAuth2Provider.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/oauth2/user/OAuth2UserInfo.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/oauth2/user/OAuth2UserInfo.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/oauth2/user/OAuth2UserInfoFactory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/oauth2/user/OAuth2UserInfoFactory.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/oauth2/user/OAuth2UserUnlink.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/oauth2/user/OAuth2UserUnlink.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/oauth2/user/OAuth2UserUnlinkManager.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/oauth2/user/OAuth2UserUnlinkManager.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/oauth2/util/CookieUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/oauth2/util/CookieUtils.java -------------------------------------------------------------------------------- /backend/src/main/java/com/example/oauth2/user/controller/UserController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/java/com/example/oauth2/user/controller/UserController.java -------------------------------------------------------------------------------- /backend/src/main/resources/application.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/main/resources/application.yml -------------------------------------------------------------------------------- /backend/src/test/java/com/example/oauth2/Oauth2ApplicationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/backend/src/test/java/com/example/oauth2/Oauth2ApplicationTests.java -------------------------------------------------------------------------------- /frontend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/.gitignore -------------------------------------------------------------------------------- /frontend/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/README.md -------------------------------------------------------------------------------- /frontend/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/package-lock.json -------------------------------------------------------------------------------- /frontend/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/package.json -------------------------------------------------------------------------------- /frontend/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/public/favicon.ico -------------------------------------------------------------------------------- /frontend/public/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/public/index.html -------------------------------------------------------------------------------- /frontend/public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/public/logo192.png -------------------------------------------------------------------------------- /frontend/public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/public/logo512.png -------------------------------------------------------------------------------- /frontend/public/manifest.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/public/manifest.json -------------------------------------------------------------------------------- /frontend/public/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/public/robots.txt -------------------------------------------------------------------------------- /frontend/src/App.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/src/App.css -------------------------------------------------------------------------------- /frontend/src/App.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/src/App.js -------------------------------------------------------------------------------- /frontend/src/App.test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/src/App.test.js -------------------------------------------------------------------------------- /frontend/src/Home.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/src/Home.js -------------------------------------------------------------------------------- /frontend/src/Info.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/src/Info.js -------------------------------------------------------------------------------- /frontend/src/SignUp.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/src/SignUp.js -------------------------------------------------------------------------------- /frontend/src/index.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/src/index.css -------------------------------------------------------------------------------- /frontend/src/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/src/index.js -------------------------------------------------------------------------------- /frontend/src/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/src/logo.svg -------------------------------------------------------------------------------- /frontend/src/reportWebVitals.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/src/reportWebVitals.js -------------------------------------------------------------------------------- /frontend/src/setupTests.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jjunhwan-kim/oauth2-demo/HEAD/frontend/src/setupTests.js --------------------------------------------------------------------------------