인증 6

HTTPS에 대해서 설명해주세요.

HTTPS에 대해서 설명해주세요.백엔드와 관련된 질문이에요.HTTP(Hypertext Transfer Protocol) 는 클라이언트와 서버 간 통신을 위한 통신 규약입니다. 하지만, HTTP는 암호화되지 않는 평문 데이터를 전송하기 때문에 제 3자가 정보를 조회할 수 있다는 위험이 있습니다. 이를 해결하기 위해서 HTTPS가 등장했습니다.HTTPS(Hyertext Transfer Protocol Secure) 는 HTTP에 데이터 암호화가 추가되었습니다. 암호화된 데이터를 전송하기 때문에 제 3자가 볼 수 없도록 할 수 있습니다.HTTPS는 어떻게 적용할 수 있나요?HTTPS를 적용하기 위해서는 인증된 기관(Certificate Authority, CA)에게 인증서를 발급받아야 합니다. CA에 인증서를..

[241002] Next.js 미들웨어

Next.js에서 middleware란? Next.js에서 middleware.ts라는 파일을 프로젝트 루트 디렉토리에 생성하면 자동으로 미들웨어로 인식됩니다. 이 파일은 요청이 완료되기 전에 실행되며, 요청에 따라 응답을 수정하거나 리디렉션, 헤더 수정 등을 할 수 있습니다 문제발생현재 그냥 api/auth를 사용하면서 middleware를 적용하면 에러발생 if (!token) { console.log('No token found, redirecting to login'); // if ( // request.nextUrl.pathname !== '/login' && // request.nextUrl.pathname !== '/' ..

일기/개발일기 2024.10.02

[240930] Next.js 인증

https://nextjs.org/docs/app/building-your-application/authentication#database-sessions Building Your Application: Authentication | Next.jsLearn how to implement authentication in your Next.js application.nextjs.org  인증에 대한 프로세스를 세 가지 개념으로 분류인증: 사용자가 본인이 맞는지 확인합니다. 사용자 이름과 비밀번호 등 사용자가 가지고 있는 정보로 신원을 증명해야 합니다.세션 관리: 요청 전반에서 사용자의 인증 상태를 추적합니다.인증: 사용자가 액세스할 수 있는 경로와 데이터를 결정합니다인증 (가입 및 로그인)사용자 자격 증명 ..

일기/개발일기 2024.09.30

JWT(JSON Web Token)의 이해와 활용

JWT란 무엇인가?JWT는 JSON Web Token의 약자로, JSON 형태의 데이터를 네트워크를 통해 안전하게 전송하기 위해 설계된 방식입니다. JWT는 마치 편지와 같은 구조를 가지고 있습니다:봉투 (Header): 토큰의 타입과 사용된 알고리즘 정보편지지 (Payload): 실제 전달하려는 데이터 (Claims)서명 (Signature): 토큰의 유효성을 검증하기 위한 서명 JWT의 구조JWT는 세 부분으로 구성되며, 각 부분은 Base64로 인코딩되어 점(.)으로 구분됩니다:header.payload.signature  JWT의 핵심: 서명(Signature)서명은 JWT의 무결성을 보장하는 핵심 요소입니다. 서명 과정은 다음과 같습니다:비밀키(Secret Key)를 사용헤더와 페이로드를 입력으..

OAuth 2.0 쉽게 이해하기: 인증과 인가의 안전한 분리

OAuth 2.0이란?OAuth 2.0은 서로 다른 서비스 간에 안전하게 인증과 권한 부여를 할 수 있게 해주는 표준 프로토콜입니다. 이를 통해 사용자의 민감한 정보를 직접 공유하지 않고도 다른 서비스의 기능을 이용할 수 있습니다.  OAuth 2.0이 필요한 이유예를 들어, '우아한 캘린더'라는 서비스를 만들었다고 가정해봅시다. 이 서비스는 구글 캘린더와 연동하여 일정을 관리하려고 합니다. OAuth 2.0 없이는 다음과 같은 문제가 발생할 수 있습니다사용자의 구글 아이디와 비밀번호를 직접 받아야 함보안 위험 증가불필요한 접근 권한 발생OAuth 2.0을 사용하면 이러한 문제를 해결할 수 있습니다.  OAuth 2.0의 주요 개념Resource Owner: 사용자Client: 우리가 만든 서비스 (예:..

JWT와 OAuth: 인증과 권한 부여

1.JWT (JSON Web Token)란?JWT는 당사자 간에 정보를 JSON 객체로 안전하게 전송하기 위한 컴팩트하고 독립적인 방식을 정의하는 개방형 표준입니다. 주요 특징:구조: Header, Payload, Signature 세 부분으로 구성사용 사례: 인증 및 정보 교환장점: 상태를 저장할 필요가 없어 서버 부하 감소JWT 작동 방식:사용자 로그인서버가 JWT 생성 및 클라이언트에 전송클라이언트가 후속 요청에 JWT 포함서버가 JWT 검증 후 요청 처리 2. OAuth란?OAuth는 사용자 데이터에 대한 접근 권한을 제3자 애플리케이션에 부여할 수 있게 하는 개방형 표준 프로토콜입니다. 주요 특징버전: OAuth 1.0과 OAuth 2.0 (더 널리 사용됨)목적: 안전한 위임 접근역할: Reso..