본문 바로가기

nodeJS

(7)
Microsoft, Outlook SMTP Auth 2.0인증 (Device Code Flow) (1) Outlook에서 더 이상 SMTP를 일반 베이직 인증으로 지원하지 않는 문제가 발생했습니다.Auth 2.0을 통한 로그인이 필수로 되었고 이를 위해 Access 토큰을 발급 받아야 합니다. 먼저는 Microsoft 계정이 기본 준비물입니다.Microsoft Azure Admin center로 접속하여 어플리케이션을 등록해야합니다. Microsoft Entra admin center aad.portal.azure.com 앱 등록 사이드 탭으로 이동 > 새 등록  다음과 같이 어플리케이션 세부 설정 후 등록하는 과정을 거칩니다. 새로이 만들어진 어플리케이션을 클릭해보면 Client ID, 테넌트 ID가 생성된 것을 확인할 수 있습니다. 이 두개는 API 요청에 필요한 파라미터임으로 뒤에서 활용됩니다. Mi..
NodeJS, .env파일 환경변수 사용 Installation Packagenpm i dotenv.env fileENV_VAR=TEXTYOUWANT node filerequire('dotenv').config();console.log(process.env.ENV_VAR);
NodeJS, nodemailer로 API 요청시 메일 보내기 우리가 흔히 회원가입 절차에서 이메일인증을 받을 때 API요청을 통해 수신자의 메일로 서버를 통해 메일을 보냅니다. 오늘은 Nodejs를 통해 이것을 간단히 구현해봅시다.Installationnpm i express nodemailer먼저 express와 nodemailer 패키지를 설치해줍시다. 필요하다면 dotenv 패키지를 설치해서 환경변수를 사용해 사용자의 이메일 주소와 비밀번호를 숨겨줍시다. SMTP Service 이용SMTP 서버는 Gmail 혹은 Outlook 등 다양한 이메일 플랫폼을 활용하면 됩니다. 필자는 gmail을 사용할 것입니다. (Gmail은 무료계정은 하루에 500통, workspace는 2000통까지 가능합니다)자 이제 Gmail 셋팅을 해봅시다!POP3가 아닌 IMAP을 사..
JWT, NodeJS와 React를 통해 구현해보기 (2) Installation Packagesnpm install axiosnpm install jsonwebtokennpm install express라이브러리 설치 이외에 쿠키 설정할 때 잘 되지 않는다면 Cookie parser 미들웨어를 사용하고환경변수를 사용하기 위해서는 dotenv 미들웨어를 사용하면됩니다.SecretKey인터넷에서 해쉬 생성기를 통해 임의로 생성하거나Crypto 라이브러리를 이용해 임의의 SecretKey를 생성하고일반적으로 .env파일에 환경변수로 저장하여 사용합니다.Login Page, ReactJSimport React from 'react';import axios from 'axios';import { useRef } from 'react';const Login : React..
JWT, NodeJS와 React를 통해 구현해보기 (1) What is JWTJWT(Jason web token)은 웹에서 특정 정보를 안전하게 사용하기 위한 방법 중 하나입니다. JWT는 JSON 포맷을 사용하여 정보를 주고 받을 수 있으며크게 인증과 교환 두 가지 매커니즘이 있습니다. 일반적으로 로그인 세션을 유지하기 위한 방법으로 사용됩니다.토큰을 통한 인증으로 특정 정보에 접근 및 권한이 주어지게 됩니다.Scenario(1) 사용자가 회원가입된 정보로 Login을 시도 합니다. 이 때 Server는 DB에 저장된 ID 및 PW 정보를 조회합니다.(2) 만약 사용자 정보가 확인되면 SecretKey를 통해 암호화된 Token을 클라이언트에게 발급합니다(이 때 localStorage 혹은 Cookie에 저장하는 다양한 방법이 있습니다)(3) 권한이 필요한 ..
Node JS에 관하여 1. 역사 Node.js는 2009년 Ryan Dahl에 의해 처음 발표되었으며 Google Chrome V8 JavaScript Engine으로 Build JavaScript 런타임 환경입니다. 브라우저환경에서만 사용하던 Java Script를 서버측에서도 사용가능케 만들었습니다. 2. 장점 * Non-blocking I/O 이게 왜 장점이냐 DB와 웹표시가 별도로 이루어질수 있다는 것입니다. 비동기의 장점은 언제나 오래걸리는 작업을 기다리는 것이 아니라 라면 물을 올려놓고 파와 양파를 써는 것처럼 오래걸리는 작업보다 빠르게 처리할 수 있는 작업들을 먼저 처리할 수 있다는 장점이 있습니다. 일반적인 동기 프로그래밍의 경우 DB작업이 오래걸리고 그에 따라 웹표시가 지연되어 사용자가 답답함을 느낄 수 있기..
Node js 설치 1. node js 검색 2. Download Click! 3. LTS Or Current Click - LTS는 안정화된 버전 - Current는 가장 최신 버전을 의미합니다. 자신의 환경(OS)과 용도에 맞게 선택 후 설치 4. Terminal 확인 (1) VSCode를 열어 위에 탭에서 Terminal을 Click! New Terminal Click! 해서 새로운 터미널 창을 열어줍니다 Terminal Window에 'node' 입력 nodejs가 실행되는 것을 확인할 수 있다. Console에 1+1을 출력해보자! 사실 1+1 해도 잘 나온다 (2) iTerm 동일하게 node 입력 nodejs 실행되는 것을 확인한 후 Console 출력 예제를 따라해보면 된다. 설치와 실행이 정말 간단하다 개꿀..