Spring boot kim's cafe/oauth로그인 9

Springboot 카카오로그인!(3) 토큰을 이용해 사용자 정보 받기

이제 토큰을 이용해서 사용자 정보만 받아주면 된다! https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#req-user-info Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com Content-type: application/x-www-form-urlencoded;charset=utf-8 Authorization: Bearer {ACCESS_TOKEN} 바디는 없다! 네이버에서 했던 것 처럼만들어주자! service headers.add("Authorization", "Bearer "+..

Springboot 카카오로그인!(2) 토큰받기

이제 받은 정보로 토큰을 받을 건데 로그인을 하면 code를 받았을 것이다 SXlEXqO17ZaAxdGvadjYi_E5-Dw66S5bXk6gqncJsY7sJRb_xK97_N3f4kmndEzs7Y2yFAo9dBEAAAF6mK1alQ 이런형식 이다 https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#request-token Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 토큰을 받으려면 Content-type: application/x-www-form-urlencoded;charset=u..

Springboot 카카오로그인!(1) 인가코드 받기!

일단 애플리케이션 등록을 해주고 동의 항목을 만들어준다 개발 중에는 번호를 못 받나 보다.. 카카오 계정(이메일)을 꼭 체크 해주자 개발자 센터를 보면 https://developers.kakao.com/docs/latest/ko/kakaologin/rest-api#request-code Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com https://kauth.kakao.com/oauth/authorize?response_type=code&client_id={REST_API_KEY}&redirect_uri={REDIRECT_URI} 로 요청해줘야..

Springboot 네이버로그인!(3) 완료 with Authentication ,AuthenticationManager,SecurityCont

이제 로그인 요청이 완료된 거니 토큰으로 회원정보를 가져와야 한다 개발자센터를 보면 https://developers.naver.com/docs/login/profile/profile.md 네이버 회원 프로필 조회 API 명세 - LOGIN 네이버 회원 프로필 조회 API 명세 NAVER Developers - 네이버아이디로로그인 회원 프로필 조회 가이드 네이버 로그인을 통해 인증받은 받고 정보 제공에 동의한 회원에 대해 회원 메일 주소, 별명, 프 developers.naver.com https://openapi.naver.com/v1/nid/me 경로로 헤더에는 Authorization: Bearer AAAAOLtP40eH6P5S4Z4FpFl77n3FD5I+W3ost3oDZq/nbcS+7MAYXwXb..

Springboot 네이버로그인!(2) 토큰받기!

이제 토큰을 받을 건데 이전에 받은 code/state값을 이용해야 한다 개발자 센터를 가보자 https://developers.naver.com/docs/login/api/api.md 네이버 아이디로 로그인 API 명세 - LOGIN '네이버 아이디로 로그인 API는 네이버 로그인 인증 요청 API, 접근 토큰 발급/갱신/삭제 요청API로 구성되어 있습니다. 네이버 로그인 인증 요청 API는 여러분의 웹 또는 앱에 네이버 로그인 화면을 developers.naver.com https://nid.naver.com/oauth2.0/token 으로 url요청으로 하면 된다 보낼 값은 grant_type=authorization_code 이건 발급 시 고정이다 client_id=내 네이버 api아이디 clie..

Springboot 네이버로그인!(1) code받기 state만들기

소스를 정리하기 전에 좀 아쉬움이 남았다 아임 포트로 api를 성공하고 나니까 너무 짜릿해서 한 번 더 해보고 싶었는데 무얼 할까 하다가 자주 사용할 거 같은 네이버 로그인을 선택했다! 네이버는 토큰을 받기 전에 https://nid.naver.com/oauth2.0/authorize 링크로 가서 code/state를 얻어와야 했다 당황스러웠지만 성공했다! url통신을 해야 한다 조건은 뒤에 파라미터로 api아이디/callbackurl/state를 만들어서 줘야 한다 여길 참고해서 만들어보자 https://developers.naver.com/docs/login/api/api.md 네이버 아이디로 로그인 API 명세 - LOGIN '네이버 아이디로 로그인 API는 네이버 로그인 인증 요청 API, 접근 ..

Springboot 구글로그인!(3) with interface

자 구글은 /email/name/sub로 꺼내는 형식인데 페이스북/네이버/카카오도 모두 구글과 같을까? 아닐 확률이 크고 또 "google"때문에 다른 플랫폼 로그인도 모두 google로 들어가게 된다 그렇다면 System.out.println("userrequest"+userRequest.getClientRegistration()); 얘를 한번 뒤져 보자 registrationId='google', 이건 공통인 거 같다 이 값이 facebook이면 face으로 google이면 구글로 해주면 된다 새로운 인터페이스를 만들자! 이렇게 하고 igoogle/iface/inaver 이렇게 만들어 주면 된다 나중에 타플랫폼 추가시 인터페이스만 이제 늘려주면 된다 loaduserservice에 조건문을 걸어주자! ..

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

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

Springboot 구글 로그인!(1) with oauth2

일단 application.properties 로가서 이렇게 작성해준다 이건 구글 api센터에 가서 발급받으면 된다 모르겠으면 https://youtu.be/9ui2i-SgBpk 이 영상을 참고하자! 주의할 점 페이스북은 scope 없어도 기본적인 거 다 주는 거 같던데 구글은 spring.security.oauth2.client.registration.google.scope=profile,email 없으면 로그인 시 구글이 가지고 있는 우리 아이디 번호만 받아온다 훨씬 길지만 실제 사용 중인 아이디여서 잘랐다 그래서 꼭 scope설정 해주자! 그리고 html 놀랍게도 스프링 부트에서 구글/페북 같은 큰 사이트에 대한 로그인 경로는 자동으로 지정해줘서 저렇게 입력하면 된다 자 이제 구글 로그인 로그인을 ..