Springboot/블로그만들기

    [Springboot] 블로그 만들기 (33)_카카오 로그인(2) OAuth2.0 개념

    OAuth(Open Authorization) : 인증 처리를 대신해준다. 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신들의 정보에 대해 웹사이트나 애플리케이션의 접근 권한을 부여할 수 있는 공토적인 수단으로서 사용되는 접근 위임을 위한 개방형 표준이다. OAuth 카카오 로그인 동작원리 1. 사용자가 블로그에 로그인을 요청한다. 2. 블로그는 사용자에게 로그인 페이지를 띄워준다. 3. 사용자가 카카오 API서버에 카카오 로그인을 요청한다. 4. 카카오 API 서버는 현재 사용자가 카카오에 로그인한 상태면 동의창을, 로그인하지 않은 상태면 카카오 로그인 창을 띄워준다. 5. 사용자가 정상적으로 로그인 했다면 카카오 API서버는 웹사이트에 Code를 콜백해준다. --> 인증 처리 완료..

    [Springboot] 블로그 만들기 (32)_카카오 로그인(1) 환경설정

    카카오 개발자 센터에 들어가서 로그인을 한다. https://developers.kakao.com/ Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다. developers.kakao.com 내 애플리케이션 - 애플리케이션 추가하기 애플리케이션이 생성된다. 애플리케이션을 클릭하면 앱 키가 나오는데 여기서 우리는 REST API를 사용할꺼다 플랫폼 설정하기 카카오 로그인 활성화 왼쪽 메뉴에서 카카오 로그인 클릭 - 상태를 ON으로 바꿔준다. Redirect URI 등록 -> 카카오 로그인이 성공적으로 수행됐을때 응답 받을 주소 http://localhost:8001/auth/kakao/ca..

    [Springboot] 블로그 만들기 (31)_회원수정(2)

    이제 회원수정을 완료한 회원에 대해서 세션값을 바꿔주는 작업을 해보자 UserApiController.java @RestController public class UserApiController { @Autowired private UserService userService; @Autowired private AuthenticationManager authenticationManager; @PutMapping("/user") public ResponseDto update(@RequestBody User user){ userService.회원수정(user); // 여기서는 트랜잭션이 종료되기 때문에 DB값은 변경이 됐음. // 하지만 세션값은 변경되지 않은 상태이기 때문에 우리가 직접 세션값을 변경해줄 것..

    [Springboot] 블로그 만들기 (30)_회원수정(1)

    header.jsp 글쓰기 회원정보 로그아웃 userController.java @GetMapping("/user/updateForm") public String updateForm() { return "user/updateForm"; } updateForm.jsp UserName Password Email 회원수정완료 user.js let index = { init: function(){ $("#btn-update").on("click",()=>{ this.update(); }); } ,update: function(){ //alert('user의 save함수 호출됨'); let data = { // joinForm input태그의 id로 값을 가져와서 저장 id : $("#id").val(), pas..

    [Springboot] 블로그 만들기 (29)_글 수정하기

    detail.jsp 돌아가기 수정 삭제 글 번호 : ${board.id } 작성자 : ${board.user.userName } ${ board.title } ${board.content } BoardController.java @GetMapping("/board/{id}/updateForm") public String updateForm(@PathVariable int id, Model model) { model.addAttribute("board", boardService.글상세보기(id)); return "board/updateForm"; } updateForm.jsp Title Content ${board.content } 글수정완료 board.js let index = { init: functi..

    [Springboot] 블로그 만들기 (28)_글 삭제하기

    Detail.jsp 돌아가기 수정 삭제 글 번호 : ${board.id } 작성자 : ${board.user.userName } ${ board.title } ${board.content } board.js let index = { init: function(){ $("#btn-delete").on("click",()=>{ this.deleteById(); }); } ,deleteById: function(){ let id = $("#id").text(); $.ajax({ type:"DELETE", url:"/api/board/"+id, dataType:"json" }).done(function(resp){ alert("글삭제가 완료되었습니다."); console.log(resp) location.hre..

    [Springboot] 블로그 만들기 (27)_글 목록 페이징 처리

    먼저 페이징 처리를 하기 전에 글을 여러개 만들어주자 index.jsp ${ board.title } 상세보기 Previous Previous Next Next BoardController.java @GetMapping({"","/"}) public String index(Model model, @PageableDefault(page=1, size=5, sort="id", direction = Sort.Direction.DESC) Pageable pageable) { // boards를 model객체로 만들어서 index로 던짐 model.addAttribute("boards", boardService.글목록(pageable)); // /WEB-INF/views/index.jsp return "index..

    [Springboot] 블로그 만들기 (26)_글 목록 보기

    BoardController.java @GetMapping({"","/"}) public String index(Model model) { // boards를 model객체로 만들어서 index로 던짐 model.addAttribute("boards", boardService.글목록()); // /WEB-INF/views/index.jsp return "index"; // viewResolver 작동 !! } BoardService.java public List 글목록(){ return boardRepository.findAll(); // findAll 은 JpaRepository가 가지고있다. } BoardRepository.java public interface BoardRepository exten..