본문 바로가기
728x90

Backend6

[Passport.js] Local Strategy에서 username 대신 userId 사용하기 Passport.js는 Node.js 애플리케이션에서 인증을 간편하게 구현할 수 있는 미들웨어입니다. Passport.js에서 지원하는 Local Strategy의 기본 설정값은 username과 password입니다. 따라서 username이나 password가 아닌 다른 이름의 속성을 사용하고자 한다면(ex. userId, email), 따로 지정을 해줘야 합니다. 다음은 간단한 예시입니다. const LocalStrategy = require('passport-local').Strategy;class CustomStrategy extends LocalStrategy { constructor(private authService: AuthService) { super({ usernameField.. 2024. 7. 15.
[Swagger] Default 값, 예시 값 설정하기 백엔드에서 API를 문서화하기 위해서 Swagger API를 사용할 수 있습니다. 이때 Swagger 문서에서 테스트를 편하게 하기 위해서 Default 값이나 예시 값을 넣는 방법을 설명하겠습니다.  주의해야 할 점은 Default 값은 사용자 요청에서 특정 값이 생략되었을 때 사용되는 값이고, 예시 값은 API 문서에서만 사용되는 값이라는 것입니다. Default 값은 실제로 API 통신에 영향을 미치지만, 예시 값은 영향을 미치지 않습니다.  다음은 Default 값과 예시 값을 Swagger API에 어떻게 설정할 수 있는지 보여주는 Nest.Js + Typescript의 예시입니다.> Default 값import { ApiProperty } from '@nestjs/swagger';export .. 2024. 7. 10.
JWT JWT(JSON Web Token)는 인증과 관련된 정보를 JSON 형식으로 저장한 암호화된 웹 토큰입니다. JWT 구조 토큰은 순서대로 header, payload, signature로 구성되어 있습니다. 세 가지 요소는 온점 (”.”)으로 구분되며, 전체적인 형태는 header.payload.signature과 같은 구조를 띄게 됩니다. header : 보통 2가지 정보, 토큰 유형(JWT)과 사용된 서명 알고리즘으로 구성되어 있습니다. { "alg": "HS256", "typ": "JWT" } payload : 토큰에 저장할 정보들은 이 부분에 들어갑니다. { "sub": "1234567890", "name": "John Doe", "iat": 1516239022 } signature : heade.. 2024. 1. 4.
HTTP 응답 상태 코드(Status Code) HTTP 응답 header 예시HTTP/1.1 **200 OK**Server: Apache/2.4.29 (Ubuntu)Date: Tue, 18 Jan 2022 08:30:45 GMTContent-Type: text/html; charset=utf-8Content-Length: 1234Connection: keep-aliveCache-Control: max-age=3600 상태 코드 (Status Code)는 클라이언트의 요청에 대한 응답이 어떤 상태인지 알려줍니다.100-199 Informational Responses 요청이 수신됨 + 작업 수행 중200-299Successful Responses요청이 성공적으로 수신+이해+수행 완료됨300-399Redirection Messages요청을 수행하기 위해.. 2024. 1. 4.
[Node.js] Node.js에 대하여 Node.js “Node.js is an open-source, cross-platform JavaScript runtime environment.” Node.js는 브라우저에서만 실행할 수 있었던 자바스크립트를 컴퓨터(Server-Side)에서 실행할 수 있게 하는 환경입니다. Node.js의 기본 패키지 관리자는 npm입니다 (python-pip과 같은 관계). 상황에 따라서 yarn이나 pnpm과 같은 패키지 매니저를 사용할 수도 있습니다. Node.js 설치 방법 Windows/Mac의 경우: https://nodejs.org/en/download/ 에서 설치파일 다운로드 리눅스의 경우: curl -sL .x | sudo bash - sudo apt install -y nodejs Node.js .. 2024. 1. 3.
API(Application Programming Interface) ▶ 정의API(Application Programming Interface)는 두 응용 프로그램이 서로 통신할 수 있도록 하는 정의와 규칙들의 집합입니다. 즉, 다른 프로그램과 통신하면서 서로의 정보를 활용하기 위해서는 API를 지켜야 하는 것입니다.이러한 API를 기반으로 구현된 라이브러리를 통해서 ① 프로그램은 호환성이 높아지고, ② 다른 서비스를 활용할 수 있어서 개발이 편리해지는 것입니다. 고레벨 프로그래밍 언어만으로 낮은 레벨의 메모리나 하드웨어 조작을 할 수 있는 것, 이미 완성된 프로그램의 기능을 추가하는 것, 모두 API로부터 가능하다는 것입니다! ▶ 간략한 역사초기의 API는 컴퓨터 내부, 로컬 환경 안에서만 사용되었습니다. 운영체제가 라이브러리처럼 활용하는게 대부분의 경우였는데, 로컬 .. 2022. 11. 12.
반응형