목록분류 전체보기 (173)
그저 내가 되었고
서버단에서는 액세스토큰 발급과, 사용자정보 받아오는 로직만 짜면 된다. 네이버 로그인 API : 로그인 인증 요청 API + 접근 토큰 발급/갱신/삭제 요청 API (※ GET과 POST 메소드를 사용. 따라서 간편로그인 오픈 API는 정보 입력, 정보 요청의 기능을 수행하며 삭제와 업데이트는 기능적으로 지원하지 않음. 간편로그인 특성상 사용자가 직접 로그아웃 작업을 직접 수행해야 함) * 네이버 로그인 인증 요청 API? - 내 웹 또는 앱에 네이버 로그인 화면을 띄우는 API(인증에 성공하게 되면 해당 API에서 받은 code값을 통해 발급 API을 호출) - GET/POST 메소드 사용, URL(https://nid.naver.com/oauth2.0/authorize) * 접근 토큰 발급/갱신/삭제..
mongoDB 배열 수정 * 배열에 값 추가하기 & 제거하기 - '$push'를 쓰면 조회한 결과의 필드(배열)에 값을 추가함 - '$pull' or '$pullAll'로 해당하는 값을 제거할 수 있음 banMember = async(postId, nickName) => { await Posts.updateOne({_id:postId},{$push:{banUser: nickName}}) await Posts.updateOne({_id:postId},{$pull:{confirmMember: nickName}}) return } JS 객체 (사족 알고리즘 등에서 많이 접해봤는데 막상 진짜 코드에서 써먹으려니 기억이 잘 안나고 말아버리는거에요..; 필요할때 잘 써먹을 줄 아는 개발자가 되어봅시다🥹) * 객체에..
이상한(?)걸 발견했다. 게시글 북마크 기능 구현 중 북마크 스키마 자체를 없애고 유저 안의 칼럼으로 쌓이도록 해달라는 요청을 받았다. services/users.js getBookmark = async(nickName) => { let result = [] const getBookmark = await this.usersRepository.getBookmark(nickName); console.log("getBookmark", getBookmark) //여기서는 nickName에 해당하는 유저의 정보 찾아와짐 const GetBookmark = getBookmark.map((userInfo) => userInfo.bookmark) //위의 유저정보에서 bookmark만 map console.log("G..
Cross Database Populate Let's say you have a schema representing events, and a schema representing conversations. Each event has a corresponding conversation thread. const db1 = mongoose.createConnection('mongodb://localhost:27000/db1'); const db2 = mongoose.createConnection('mongodb://localhost:27001/db2'); const conversationSchema = new Schema({ numMessages: Number }); const Conversation = db2..
필요 배경 지식 & 개념 * Oauth / Oauth2 웹 사이트를 이용할 때 "네이버로 로그인" 같이 별도의 회원가입 없이 로그인을 제공하는 서비스를 이용한 적이 있을 것이다.. 이때 해당 플랫폼의 아이디가 있다면 외부 서비스에서도 인증을 가능하게하고 그 서비스의 API를 사용할. 수 있다. 이것을 OAuth라고 한다. 내가 만드는 클라이언트 서버에서 다른 서버의 정보(Google, Naver, Kakao 등) 를 가지고 오고 싶을때 안전하게 가지고 오는 플로우를 제시한다. 보통은 구글,페이스북에서 많이 사용하는 Authorization Code Grant 방식을 자주 사용한다. Oauth 기능은 간단히 설명해보면 아래와 같다. 어떤 사용자가 우리의 서비스를 이용하려 한다. 그런데 이 사용자가 정말 올..