> 웹 프론트엔드 > JS 튜토리얼 > node.js의 http 인증

node.js의 http 인증

Jennifer Aniston
풀어 주다: 2025-02-25 15:32:08
원래의
142명이 탐색했습니다.

HTTP Authentication in Node.js 지난 주 "node.js http 서버 만들기"기사에서 node.js에서 http의 기본 사항을 소개했습니다. 오늘의 기사에서는 HTTP 인증을 사용하여 Node.js 사이트를 암호 공격으로부터 보호하는 방법을 보여줍니다. 우리는 먼저 기본 액세스 인증을 소개 한 다음보다 안전한 다이제스트 액세스 인증으로 이동합니다.

키 포인트

기본 액세스 인증 및 다이제스트 액세스 인증은 node.js의 두 개의 HTTP 인증 방법입니다. 기본 액세스 인증은 더 간단하고 사용자 이름과 비밀번호에 대한 사용자에게 유사하지만 Digest Access Authentication은 전송 전에 암호를 암호화하기 때문에 더 안전합니다. 는 기본 액세스 인증에서 비밀번호 파일을 관리하는 데 사용되는 반면

유틸리티는 액세스 인증을 소화하는 데 사용됩니다. 비밀번호는 서버 측의 비밀번호 파일에 저장되며
    모듈은 HTTP 서버에 인증 지원을 추가하는 데 사용됩니다.
  • HTTP 인증 만 사용하는 것만으로는 Node.js 응용 프로그램의 보안을 보장하기에 충분하지 않습니다. 더 나은 보안을 위해 HTTP를 통해 제공되어야합니다. Express.js는 node.js에서 HTTP 인증을 구현하고 미들웨어를 사용하는 데 사용될 수 있습니다.
  • 기본 액세스 인증 htpasswd 사용자가 인증을 구현하는 사이트에 액세스하면 시스템이 사용자 이름과 비밀번호를 입력하라는 메시지를 표시합니다. 사용자가 유효한 자격 증명을 제공하는 경우 페이지의 내용으로 이동하면 "401 무단"응답으로 거부됩니다. 가장 쉬운 유형의 HTTP 인증은 기본 액세스 인증입니다. htdigest 비밀번호 파일 서버 측에서 모든 사용자 이름과 암호화 된 암호는 비밀번호 파일에 저장됩니다. node.js 유틸리티 http-auth는 비밀번호 파일을 관리하는 데 사용할 수 있습니다. 를 설치하려면 다음 명령을 사용하십시오. 는 node.js 패키지 관리자를 나타냅니다. Node.js 모듈을 설치하는 데 사용됩니다. 는 글로벌 설치 패키지에 플래그를 지정합니다. 즉, 시스템 경로 변수에 포함되어 있음을 의미합니다.
  • 를 설치 한 후 다음 명령을 사용하여 새 사용자를 만들 수 있습니다. 이 예제는 플래그를 사용하여 "htpasswd"라는 새 비밀번호 파일을 만듭니다. 새 파일에서 "foo"라는 사용자를 추가하십시오. 플래그를 사용하면 암호 "bar"를 명령 줄의 일부로 지정할 수 있습니다. express-basic-auth
  • 명령을 실행 한 후 "htpasswd"파일을 엽니 다. 사용자 "foo"의 비밀번호 파일 항목은 다음과 같습니다. 이 줄에는 사용자 이름과 암호화 된 암호가 포함되어 있습니다. 파일에서 첫 번째이자 유일한 사용자이므로 파일의 유일한 줄이되어야합니다.

node.js 통합 다음 단계는 HTTP 서버에 인증 지원을 추가하는 것입니다. 먼저 다음 NPM 명령을 사용하여 모듈을 설치해야합니다.

npm install -g htpasswd
로그인 후 복사
로그인 후 복사
다음, "Basic_auth_server.js"라는 새 파일을 만들고 다음 코드를 추가하십시오.

모듈은 2 행에서 참조됩니다. 3 ~ 7 행에서 구성 객체를 인증 모듈로 전달하십시오. 필드는 인증 영역을 정의합니다. 필드는 앞에서 만든 비밀번호 파일을 가리 킵니다. 는 현재 실행중인 스크립트가 위치한 디렉토리를 나타냅니다. 이 예제는 "htpasswd"파일이 "basic_auth_server.js"와 동일한 디렉토리에 있다고 가정합니다. http-auth 구성 필드는 사용할 인증 유형을 나타냅니다. 9 행에서는 기본 인증 체계가 HTTP 연결에 적용됩니다. 인증 콜백 함수는 추가 처리를위한 인증 된 사용자 이름을 제공합니다. authRealm authFile 마지막으로 서버를 시작하십시오. __dirname https://www.php.cn/link/bb122c8fe6c764e8aae555e2186a6344 <🎜 <🎜 <🎜 <🎜 <🎜로 탐색하여 서버에 연결할 수 있습니다. 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다. 이전에 만든 자격 증명을 제공하면 브라우저가 이름으로 귀하에게 인사합니다. authType

제한 <🎜 🎜> 기본 액세스 인증의 가장 큰 단점은 자격 증명이 네트워크를 통해 일반 텍스트로 전송된다는 것입니다. 도청 방지를 방지하기 위해 이러한 인증은 안전한 (즉, HTTP) 연결에서만 사용할 수 있습니다. 보안 연결을 사용할 수없는 경우 대신보다 안전한 형태의 인증을 사용해야합니다.
htpasswd -bc htpasswd foo bar
로그인 후 복사
로그인 후 복사
<🎜 🎜> <<> Subse Access Authentication

<🎜 🎜> 디지털 액세스 인증은 기본 인증에 대한보다 안전한 대안입니다. 다이제스트 인증을 사용하면 네트워크가 전송되기 전에 암호가 암호화됩니다. <🎜 🎜> 비밀번호 파일 <🎜 🎜> 숫자 인증은 또한 비밀번호 파일을 사용합니다. 그러나 파일 형식은 기본 인증에 사용 된 파일 형식과 약간 다릅니다. Digest Password 파일 형식을 사용하려면 라는 다른 유틸리티를 사용합니다. 다음 npm 명령을 사용하여 <🎜 🎜>를 설치하십시오.

다음으로 다음 명령을 사용하여 새 비밀번호 파일을 만듭니다. 마찬가지로, <<> 플래그는 "htpasswd"라는 새 비밀번호 파일을 만드는 데 사용됩니다. 이번에는 인증 필드도 지정해야합니다. 이 경우 인증 필드는 "개인 영역"입니다. 이 예에서 사용자 이름은 다시 "foo"입니다. 암호는 명령에 제공되지 않습니다. 명령을 입력하면 비밀번호를 제공하라는 메시지가 표시됩니다.

를 실행 한 후 새로운 "htpasswd"파일의 내부를 확인하십시오. "foo"의 항목은 다음과 같습니다. Digest Authentication 파일에는 기본 인증 파일에 포함되지 않은 인증 영역뿐만 아니라 사용자 이름과 암호화 된 암호가 포함되어 있습니다.

npm install -g htpasswd
로그인 후 복사
로그인 후 복사
node.js 통합 <🎜 🎜> Digest 인증을 서버에 통합하려면

모듈을 다시 사용합니다. 이 자습서를 따르고 있다면 모듈은 이미 컴퓨터에 설치되어야합니다. 다음으로 서버를 구현하려면 "digest_auth_server.js"라는 새 파일을 만듭니다. 서버 코드는 다음과 같습니다. 서버 코드는 기본 인증 서버 코드와 거의 동일합니다. 차이점은 구성 객체의 <<> 필드입니다. 이 경우 <<>는 "다이제스트"로 설정됩니다. 이 서버는 기본 인증 서버처럼 액세스 할 수 있습니다.

<🎜 🎜> <<> 결론 http-auth authType 이 기사에서는 HTTP 인증의 기본 사항을 소개합니다. 여기에 제공된 예제를 따르면 Node.js 응용 프로그램이 조금 더 안전 할 수 있습니다. 그러나 인증만으로는 충분하지 않다는 것을 알아야합니다. 보안이 주요 문제인 경우 HTTPS를 통해 사이트에 서비스를 제공해야합니다. 향후 게시물에서는 https 및 기타 많은 Node.js 기능을 탐색 할 것입니다. 이 게시물이 마음에 들면 Sitepoint의 최신 인쇄 및 전자 책 점프 시작에 대한 모든 것을 알고 싶을 것입니다. 첫 번째 책은 Don Nguyen의 "Node.js"입니다. Sitepoint에서 자세히 알아보십시오! authType

<<> (다음은 FAQ 부분입니다. 기사의 길이로 인해 핵심 정보를 유지하고 복제 및 중복성을 피하기 위해 FAQ 부품을 요약합니다.) node.js의 http 인증에 대한 <🎜 🎜> <<> FAQ (FAQ)
htpasswd -bc htpasswd foo bar
로그인 후 복사
로그인 후 복사

node.js에서 express.js를 사용하여 HTTP 인증을 구현하는 방법은 무엇입니까? 사용

미들웨어. 샘플 코드는 사용자 이름과 비밀번호로 인증하는 방법을 보여줍니다.

HTTP 인증을 사용하여 Node.js 응용 프로그램을 보호하는 방법은 무엇입니까? 모듈을 사용하고 비밀번호 파일 경로를 지정하십시오. 보안을 향상시키기 위해 HTTPS를 사용해야합니다.

여러 사용자를 처리하기 위해 HTTP 인증을 사용하는 방법은 무엇입니까? 파일 또는 데이터베이스를 사용하여 사용자 이름과 비밀번호를 저장하십시오. 모듈은이 기능을 지원합니다.

    node.js에서 HTTP 인증 프롬프트를 사용자 정의하는 방법은 무엇입니까?
  • express-basic-auth node.js의 인증 실패를 처리하는 방법은 무엇입니까? 서버는 401 무단 응답을 보냅니다. 이 응답을 사용자 정의 할 수 있습니다.

  • https와 함께 HTTP 인증을 사용하는 방법은 무엇입니까? HTTP 서버 대신 HTTPS 서버를 만듭니다.

    http-auth 쿠키와 함께 HTTP 인증을 사용하는 방법은 무엇입니까? 성공적인 인증 후에 쿠키를 설정하십시오.

  • 세션에서 HTTP 인증을 사용하는 방법은 무엇입니까? 와 같은 세션 미들웨어를 사용하십시오.

  • JSON Web Token (JWT)과 함께 HTTP 인증을 사용하는 방법은 무엇입니까? JWT 미들웨어를 사용하십시오 (예 : ).

    express-jwt OAUTH와 함께 HTTP 인증을 사용하는 방법은 무엇입니까? 예를 들어 Oauth Middleware를 사용하십시오 (예 : <:>).

  • 요컨대, 위의 내용은 FAQ 부품의 핵심 내용을 간단히 요약하고 원본 텍스트에서 의사 원리 처리를 수행합니다. 모든 이미지 링크는 변경되지 않습니다.

  • 위 내용은 node.js의 http 인증의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    저자별 최신 기사
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿