개발95 Spring boot 3 WebFlux Google OAuth2 재도전기 첫 번째 도전 이전 글에서 spring webflux에 google login 창을 띄우고 OAuth2를 이용하려 했으나 실패했다. UI까지 띄우고 리디렉션 페이지로 이동하는 것은 성공하였으나 코드 같은 정보를 어디서 가져오는지 도통 알 수가 없었다. 첫 시도는 실패 하였고. 스프링에서 기본적으로 만들어 넣으 샘플이 있다고 하여 재 도전을 해 보려 합니다. https://devkimchi.tistory.com/73 SPRING WEBFLUX OAUTH 2.0 구글 로그인 후 넘어 오는 값(CODE) 방황기 이전 포스팅에서 프런트 페이지에 구글 로그인을 띄우는 것을 다루었다. 이제 로그인이 성공한 후에 제공업체에서 가져온 값을 처리하는 로직을 만들 것이다. 흐름은 알겠는데 로그인 완료 후 j devkimc.. 2023. 2. 1. SPRING WEBFLUX OAUTH 2.0 구글 로그인 후 넘어 오는 값(CODE) 방황기 이전 포스팅에서 프런트 페이지에 구글 로그인을 띄우는 것을 다루었다. 이제 로그인이 성공한 후에 제공업체에서 가져온 값을 처리하는 로직을 만들 것이다. 흐름은 알겠는데 로그인 완료 후 jwt를 처리하는 것에 대한 문서가 어디 있는지 잘 보이질 않는다. 그래서 일단 파이어베이스 안이 문서를 살펴보고 있다. 기존 프런트 페이지는 이렇게 설정하였다. https://devkimchi.tistory.com/72 firebase login Sign-in method, web ui 설정, google 로그인 제공 업체 추가 Firebase Login Ui 설정 https://devkimchi.tistory.com/71 firebase google login spring webflux 적용기 Spring Webflux.. 2023. 1. 29. firebase login Sign-in method, web ui 설정, google 로그인 제공 업체 추가 Firebase Login Ui 설정 https://devkimchi.tistory.com/71 firebase google login spring webflux 적용기 Spring Webflux에 구글 로그인을 달아보려고 했는데 생각보다 보게 되는 게 많았다. 워낙에 자바가 볼게 많은 거 같다. 세세한 사항도 많고 자동으로 되어 있는 부분도 많은데 고칠거 없으면 그냥 쓰 devkimchi.tistory.com 우여곡절 끝에 spring webflux thymeleaf front 페이지에 javascript CDN을 이용하여 로그인 버튼과 로그인 페이지로 가도록 연결을 해 놓았다. 결과는 아래와 같았다. Firebase: The given sign-in provider is disabled for thi.. 2023. 1. 26. firebase google login spring webflux 적용기 Spring Webflux에 구글 로그인을 달아보려고 했는데 생각보다 보게 되는 게 많았다. 워낙에 자바가 볼게 많은 거 같다. 세세한 사항도 많고 자동으로 되어 있는 부분도 많은데 고칠거 없으면 그냥 쓰면 되지만 수정하려면 모르고 하기도 애매하니 암튼 이제 스프링에 구글 로그인을 붙여 보려고 한다 잘되야 할 텐데. Thymeleaf 수정 사항 Deprecated unwrapped fragment expression "header::header" found in template layout, line 24, col 6. Please use the complete syntax of fragment expressions instead ("~{header::header}"). The old, unwrapped.. 2023. 1. 26. Firebase, WebFlux Security, Spring 기본 설정드, 어노테이션 등 FirebaseOptions options = FirebaseOptions.builder() new를 제거하고 B를 소문자로 변경해 주면 된다. 이게 인텔리제이가 다 한글로 나오는데 내가 설정한 건가 아니면 원래 그런 건가 메뉴까지 다 한글로 나오니 은근 불편하다는. @Bean public FirebaseApp firebaseApp() throws IOException { ClassPathResource classPathResource = new ClassPathResource("serviceAccountKey.json"); FileInputStream serviceAccount = new FileInputStream(classPathResource.getFile()); FirebaseOptions op.. 2023. 1. 25. IntellJ 필수 플러그인, Spring webFlux firebase admin IntellJ 필수 플러그인 Lombok : 자바는 게터 세터를 만들일이 많은데 그런 작업을 자동화해준다. 이건 그냥 필수 Grep Console : 개발모드에선 로깅 수준을 Debug 모드로 쓰는데 로그가 많다 그런데 grep console이 적절하게 색도 나눠주고 커스텀하게 설정할 수 있게 해 준다. 다 같은 색일 땐 눈에 안 들어오는데 약간만 구별해 줘도 필요한 정보를 한눈에 알아볼 수 있다. 내가 찍은 로그를 눈에 띄게 표시해 주고 thymeleaf로 고생했는데 변경점들이 있어서 앞으로 변경될 사항도 warn으로 띄워주는데 눈에 잘 들어와서 코딩할 때 바꿔야겠다는 생각이 들게 해 준다. hot swap 관련된 좋은 게 있지 않을까 싶어 조사해 보았으나 마땅한 대안이 없어서 이건 일단 넘기기로 했네.. 2023. 1. 23. webflux Thymeleaf3.1 template, Layout 변경된 부분 마이그레이션 (feat LiveReload++) Thymeleaf 3.1 스프링 6.0을 지원하게 되었다. webflux 초기에 한번 사용해 보았는데 sec태그가 잘 작동하지 않아서 난감했던 기억이 있는데 이제 그런 건 없을 거라 기대한다. 현재 스프링 부트 3.0대의 버전을 사용중인데 스프링은 6점대인지라 3.1을 사용하면 될 거 같다. 전에는 Thymeleaf Page Layouts 를 같이 사용해서 공통으로 묶이는 부분을 또 템플릿 해서 사용했는데 아마 이것도 잘 작동하겠지? spring initialzr에서 thymeleaf를 선택하면 현재 버전에선 thymeleaf와 thymeleaf-security까지 같이 종속성이 추가돼서 예전처럼 thymeleaf-security를 추가해 주지 않아도 sec 태그를 쓸 수 있습니다. thymeleaf-l.. 2023. 1. 23. SPRING BOOT SECURITY 설정 SPRING BOOT SECURITY 비밀 번호 설정 스프링 부트에 시큐리티를 추가하게 되면 첫 페이지에 비밀 번호를 입력하라고 나오게 된다. 이건 직접 만든 페이지는 아니지만 스프링 시큐리티에서 제공해 주는 화면으로 간단한 인증시스템을 구현해 놨다. 초기에 비밀번호는 부팅할 때 제공해 주는데. 패스워드는 알려주는데 아이디가 표시가 되어 있지 않다. 나같이 admin을 치는 사람도 있을 건데 ID는 user 다. user랑 부팅 시 제공해 주는 문자를 사용해도 되고 yaml파일에 추가해 줘도 된다. 추후에 auth를 구현할 것이기 때문에 초반에 단순하게 해서 사용하면 된다 로그인을 하게 되면 아무 코딩을 안 해놨다면 에러페이지를 맞이하게 된다. 로그인이 되어도 갈페이지가 없으니까. 갈 곳을 잃은 404 .. 2023. 1. 22. Neo4j 설치 후 비밀번호 변경 (feat cypher) Neo4j Desktop 화면 구성 왼쪽에 프로젝트, dbms, graph app 등 탭과 아래쪽에 앱과 관련된 알림이나 설저등 정보 탭도 있다. 일단 설치 후 알아 가려는 계획이었기에 정확히 멀 어떻게 해야 할지는 모르겠다. 그래프 앱스에 보면 Neo4j Browser 가 있는데 실행하면 브라우저가 뜨고 DB를 검색할 수 있을 거 같은 분위기를 만들어 준다 중단에 get started 시작 하기를 누르면 가이드가 뜨는데 어떻게 연결해야 할지도 모르겠고 그냥 계속 둘러본다. CREATE (JoelS:Person {name:'Joel Silver', born:1952}) CREATE (Keanu)-[:ACTED_IN {roles:['Neo']}]->(TheMatrix), (Carrie)-[:ACTED_IN.. 2023. 1. 22. Neo4j Desktop 설치, 스프링 프로파일 속성 Neo4j 설정 방법 https://neo4j.com/download/ 방문 Download Neo4j Desktop Experience Neo4j 5 on your desktop. Get started with the free graph database download today and avoid the costs of self-hosted deployment. neo4j.com Neo4j Desktop을 다운 로드받는다. Activation Key를 저장해 놓는다. 설치 파일을 실행시켜 설치한다. 설치 기간 중에 윈도 11로 무료 업그레이 할 수 있다고 해서 업데이트했는데 ui가 심플해진 거 같다. 보기엔 좋은데 와이드 모니터에 작업표시줄에 창을 그룹화시키지 않고 길게 써왔었다 한 번에 보고 바로 클.. 2023. 1. 22. SPRING INITIALZR 생성 후 PROFILES 설정 방법 feat Okata SPRING INITIALZR 생성 후 Okta를 빼게 되었다. Okta 사용하지 않은 이유 프로젝트가 최종 목표는 스프링과 플러터를 이용해서 모든 플랫폼에 돌아가는 앱을 만드는 것이다. 그 과정 중에 Okta라는 라이브러리를 발견하였고 보안, 인증에 매우 편리 할거 같았다. 하지만 get started 페이지에 보니 플러터가 보이지 않는 것이다. 리액트는 있는데 플러터가 보이지 않네 괜히 플러터로 하기로 마음먹은 건가. 왜 플러터에 꽂혀 가지고 리액트 했으면 왠지 편하지 않았을까 하는 마음이 자꾸 든다 지금이라도 리액트로 방향을 잡아야 하는 것인가. 리액트는 생태계가 복잡해도 그 생태계에 진입한 사람이 많아서 다양한 방향과 라이브러리들이 꽃을 피우는 거 같다 복잡해 보이는 생태계 때문 들어가기가 꺼려지.. 2023. 1. 21. IntelliJ Spring initializr 설정 방법 https://devkimchi.tistory.com/62 SPRING BOOT + FIREBASE (DATABASE,FUNCTIONS,AUTH) + NEO4J 프로젝트 시작 SPRING BOOT + FIREBASE (DATABASE, FUNCTIONS, AUTH) + NEO4J 를 사용 한 프로젝트. 포인트는 FIREBASE FUNCTIONS를 사용하여 함수를 서비스로 마들고 그걸 권한에 맞게 스프링과 플러터에서 사용하는 것인데 쉽게 될 devkimchi.tistory.com 위의 글에서 프로젝트 초기 설정에 이어 intellj에서 Spring initializr 이용하여 프로젝트를 생성해 보고 테스트해 보겠다. IDE에서 제공하는 스프링 종속성 라이브러리들을 추가해 주고 있다. 첨 보는 라이브러리도 .. 2023. 1. 21. 이전 1 2 3 4 5 6 7 8 다음