principaldetail 3

Springboot jwt인증 리펙토링

예를 들어 로그인 후에 마이 페이를 들어간다면 토큰을 던져서 이상이 없으면 db에서 정보를 가지고 와서 시큐리티 세션에 부여해주고 거기서 꺼내 쓰면 된다 근데 현재는 그 방식이 아니라 검증 시 잘못된 방식으로 세션에 부여해주는 탓에 또 db를 들렀다 오게 되었다 그래서 수정하려고 한다 jwtService 아이디/비밀번호가 아닌 principaldetail을 넣어주고 비밀번호는 null로 해주자 어차피 로그인을 한 사용자이다 userService 기존에는 db를 또 다녀왔다면 이번엔 시큐리티 세션에서 꺼내서 비밀번호만 지운 후 던져주자!

Springboot 구글로그인!(2) with loadUser and principaldetail

자 이제 loaduser를 작성할 건데 그전에 근데 사실 지금도 로그인이 된다 다만 우리가 원하는 값없이 id값만 딸랑 받아서 오게 될 뿐이다 OAuth2UserRequest userRequest 얘가 들고 온 정보를 빼내면 된다 열어보면 막 뭐를 열심히 들고 와 줬는데 이제 우리가 필요한 정보를 꺼내서 쓰면 된다 뭐로? super.loadUser(userRequest) 얘로 마우스를 갖다 대 보면 리턴 타입이 OAuth2 User이다 그러면 이제 이메일을 가져와서 이미 등록되어있는지 확인하고 등록되어있다면 로그인하고 아니라면 자동 회원가입 후 로그인시켜주면 된다! 우리가 찾는 정보는 .getAttributes()안에 있고 .getAttributes()는 map형식이므로 키워드로 찾아주자 키워드는 Sys..

Spring boot 로그인하기! with Security

controller에 로그인 페이지를 걸어준다 loginpage를 구현해주고 구글로그인 페이스북로그인 이거는 스프링에서 oauth2에서 미리 지정해서 논 경로라고 한다 그리고 여기서 주의할 점 name="username" name="password" 스프링한테 줄 때 이렇게 해줘야 한다 물론 바꿀 수도 있는데 그냥 안 바꾸고 진행하는 게 편하다! 왜 이렇게 받는지는 시큐리티 로그인을 만들면서 봐보자! 일단 로그인 성공 시 담을 principaldetail을 만든다 spring으로 자체적으로 제공해주는 userdetails를 임플리먼트 받는다! 로그인에 성공 했다면 시큐리티 전용 세선에 authentication으로 감싸 져서(?) 들어가게 된다 사용 시에는 security session=>authenti..