분류 전체보기 269

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 문자인증/전송!(2) with coolsms And HttpSession

이메일 인증과 딱히 다르진 않다 핸드폰으로 인증번호를 전송하자! html js service from이 보내는 번호인데 실제 번호여서 지워놨다 가짜 번호로 테스트를 해봐야겠다 없는 번호도 가는지 안 간다 테스트 해봤는데 없는 번호로 하면 안간다 restcontroller f(principaldetail.getUsername()!=null) 로그인 여부 검사를 하고 (아마 비로그인 시 알아서 예외를 일으켜주는 걸로 아는데 혹시 몰라서 걸었다) String smsRandNum=utilservice.GetRandomNum(6); 6자리 인증번호를 만들고 httpSession.setAttribute("phoneNum", phone.get("phone")); httpSession.setAttribute("smsR..

Springboot 회원탈퇴!(1)

예약/결제/게시글/댓글/인증 구현이 얼추 끝났다 이제 회원 탈퇴를 만들 건데 이전의 함수들을 이용하면 된다 답글 서비스는 아직 구현하지 않아서 나중에 답글 서비스까지 구현하면 한 번 더 와서 추가해 줘야 할 거 같다 일단 프런트 마이페이지에 링크를 추가해주고 controller html js 결과 진짜 기능만 되는 허접한 페이지가 완성되었다 서버 service 로그인을 해야 가능한 기능인데 혹시 몰라서 if(confrimEmail(email)){ 존재하는 아이디인지 검사를 해주고 if(bCryptPasswordEncoder.matches(userdto.getPwd(),uservo.getPwd())){ 비밀번호가 일치 한지 검사해주고 if(reservationservice.getReservationByEm..

Springboot  문자 인증/전송!(1) with coolsms And Message

api방식을 사용하고 싶었는데 https://docs.coolsms.co.kr/authentication/api-key API Key 인증 방식 docs.coolsms.co.kr 진짜 토큰 받는 방식이 말도 안돼서 몇 시간 동안 고민하다가 어찌어찌했는데 보내려고 보니까 Authorization: apiKey=, date=, salt=, signature= 이건 json 전송도 아니고 뭔지도 모르겠어서 포기했다.. 진짜 엄청 돌아다니다가 마지막 방법을 찾았다 일단 실패한 방법 가장 흔히 돌아다니는 방법이었는데 https://velog.io/@woo0_hooo/Spring-Boot-%EB%AC%B8%EC%9E%90-%EB%B3%B4%EB%82%B4%EA%B8%B0-%EA%B5%AC%ED%98%84 [Spri..

Springboot 결제+예약(2) 부분취소/환불 하기 with 아임포트

예약 취소는 db에 있는 imp_uid를 사용하면 된다 예약을 했다면 imp_uid도 같이 들어가 있다 이제 삭제 로직을 만들건대 개별 취소가 가능해야 하기 때문에 가격이 들어올 수 있게 코드를 바꾸자 restcontroller reservationdto.setPrice(seatInforVo.getPrice()); dto에 넣어주고 vo @Column(name = "price",nullable = false) private int price; this.price=reservationdto.getPrice(); 추가해주면 테이블이 바뀌고 save 할 때 자동으로 들어간다 service는 바꿀 필요가 없다 이제 환불을 구현해보자 service 검증을 해준다 존재하는 예약인지 올바른 예약인지 그리고 맞다면 객..