본문 바로가기

전체글

(354)
git 에 README에 사진올릴 때
2. Oauth2 구글 로그인 + 페이스북 Map이라서 key값으로 서버끄고 패키지 만들기 Optional 제네릭안에 objectrk 만약에 User면 Optional이 User을 감싸고 있고 get -> user가 null이 아닐때만 써야 함. 아니면 nullPointException.... isPresent() -> 있 orElseGet -> 빈객체면 니가 하나 만들어서 리턴. orElseThrow -> Exection 던져줌. isPresent() -> -> 함수(화살표함수) : 한번만 쓸 때, 타입 신경안쓰고 만들 수 있다. PrincipalOauth2UserService 하나의 함수로 하기 힘들어서 다음 함수에 넘겨서 끝냄 ClientRegistration에 리다이렉션 받은 정보가 다 있음 여기서 중요한건 registrationId 이걸..
1. OAuth2.0 구글 로그인 의존성 프로젝트 만들 때 Security 에서 Oauth2 Client 체크해도 좋고 pom.xml에 넣어도 좋다. org.springframework.boot spring-boot-starter-oauth2-client 내가 만든 PrincipalService를 타면 안되고 Oauth 서비스를 타야함. 구글서버에 요청 로그인 페이지를 돌려준다. 로그인 되고나면 응답할 때 code를 주는 방식이 대표적이다. Server가 client에게 code를 돌려주면 인증 끝났다. 인증뿐만아니라 권한도 필요함.. 이 code를 가지고 token을 요청할 수 있다. 응답으로 Access Token을 받고 나면 권한을 얻은 것이다. 구글서버에 요청하면 동의 화면이 뜬다. => scope를 체크하는 것이다. (어떤 어떤..
spring - 시큐리티 + OAuth+JWT 1. spring - 인터셉터 Data -(blog) 2. spring - 시큐리티 Data (securityex01) 3. spring - 시큐리티 + Facebook, google Data () 4. spring - 시큐리티 + JWT 5. spring - 시큐리티 + OAuth+JWT 안드로이드는 인증방법이 쿠키에 jsessionId을 담아서 sharedpreparence에 저장합니다. 이 다음 요청부터는 헤더에 쿠키넣어서 하기. 하지만 이방법은 단점이 있음. 서버가 여러개 늘어나면 이 세션 못씁니다. 그러면 또 다른 아래의 방법으로 데이터 베이스에 세션을 저장.. 하지만 또 단점이 있다. 하드디스크라서 I/O라서 무거우니까 아래의 이 방법으로 한다. Redis 메모리 서버다. (하드디스크가 없고...
스프링 트랜잭션 롤백하기 (한 Transaction 안에 commit 해야하는 함수가 여러개 일때) // 둘중에 하나라도 실패하면 rollback 하기 @Transactional(rollbackFor = Exception.class) public void updateAndDelete(Post post) { try { mRepo.update(post); mRepo.delete(post.getId()); System.out.println("DB 정상"); } catch (Exception e) { System.out.println("DB 오류"); throw new RuntimeException(e); } }
MySQL - error code 1175. you are using safe update mode and you tried to update without a WHERE that uses a KEY column... 오류 해결 체크 해제하기 하고 나서 workbench껏다 켜야한다.
@ControllerAdvice 예외 처리해주는 어노테이션
Google JavaScript SDK, Fetherated Identity 서버에 의존하지않고 웹 브라우저 위에서 자바스크립트를 이용해서 구글로 로그인하는 방법! access token를 이용하면 구글의 서비스를 마치 내 서비스인 것처럼 API를 이용해서 제어 할 수 도 있어요. Federated Identity(연합된 식별자)라고 부릅니다. Google JavaScript SDK 를 이용해서 Fetherated Identity를 구현할 것입니다. OAuth :표준화된 인증 방법이 사용되긴 합니다만 Google JavaScript SDK를 이용하면 이런 복잡하게 하지 않아도 된다. 인증 일반적인 인증서비스 mine(내 서비스) User(내 서비스 사용자) id, password로 인증한다 Federated Identity OAuth방식으로 인증을 구현 할 거다. Resource..