[OAuth] Github 소셜로그인영상OAuth 앱 만들기🔗 New OAuth App 복잡해 보이지만 공식 홈페이지를 보고 천천히 따라 하면 할 수 있습니다.해당 사이트에서 로그인 후 새로운 OAuth 앱을 만듭니다. Application name : 앱의 이름을 작성합니다. Homepage URL : github OAuth 로그인을 시도하는 페이지를 입력합니다.필자는 로그인 페이지에 Github 로그인 버튼이 있으므로 '/login'으로 입력했습니다. Authorization callback URL : Github 소셜로그인 후 다시 돌아오는 페이지를 입력합니다.Key 발급 Generate a new client secret 버튼을 눌려서 토큰을 발급받습니다. .env 파일에 Client ID, C..
[보안] Hash & Salt설치# jsnpm i bcrypt# tsnpm i bcryptnpm i @types/bcryptHashex) 1234 -> hashFunction(1234) -> fjd12fdsaasdvsa431 위의 예시처럼 입력값이 무작위의 출력값으로 나온다. 1. 동일한 입력값에 대한 동일한 출력값이 나타난다.2. 입력값이 약간만 바뀌어도 완전히 다른 출력값이 나타난다.3. 단방향 함수이므로 출력값을 사용하여 역으로 입력값을 알 수 없다. DB 등의 노출된 경우, 유저들의 비밀번호를 알 수 없게 하기 위하여 비밀번호 그 자체를 저장하는 것이 아니라, 해쉬 된 비밀번호를 저장한다. import bcrypt from "bcrypt";export async function createAcco..
[Validator] 라이브러리 사용법 Before you learn 🔗 [Zod] 라이브러리 사용법 🔗 [Zod] Method 설명 🔗 Validator JS의 Validator 모듈은 문자열 검증 및 살균(sanitization)을 위한 라이브러리입니다. 이 라이브러리는 다양한 유형의 문자열 입력을 검증하거나 살균하는 데 사용할 수 있는 여러 함수를 제공합니다. 예를 들어, 이메일 주소가 유효한 형식인지, 문자열이 특정 형식에 맞는지 확인할 수 있습니다. 또한, 입력으로부터 HTML 태그를 제거하는 등의 살균 작업도 수행할 수 있습니다. 설치 # js npm i validator # ts npm i validator npm i @types/validator JS를 기준으로 만들어졌기에 TS를 사용하시..
[Zod] Method Before you learn 🔗 [Zod] 라이브러리 사용법 공식 사이트 🔗 Zod Method 자주 사용되는 Method를 정리해서 기록하였습니다. [.string] const formSchema = z .object({ username: z .string({ invalid_type_error: "Invalid Username", required_error: "Username is required", }) }) invalid_type_error : 유효하지 않은 경우, 에러를 발생합니다. required_error : 입력하지 않으면 에러를 발생합니다. [.min] const formSchema = z .object({ username: z .min(3, "Must be at ..