노드MySQL 데이터베이스를 사용한 js Express 로그인 예

이 강좌에서 우리는 하나의 노드를 세울 것이다.js Express 로그인 및 등록 예는 JWT(JSONWebToken)를 사용하여 토큰에 기반한 인증을 지원합니다.당신은 다음과 같은 것을 알게 될 것이다.
  • JWT 인증
  • 을 사용하여 사용자 등록 및 로그인에 적합한 프로세스
  • 노드js Express 아키텍처(CORS, Authenticaton, 라이센스 중간부품 및 Sequelize
  • JWT
  • 와 함께 사용할 빠른 경로 구성 방법
  • 검증과 권한 수여의 데이터 모델과 관련을 어떻게 정의하는가
  • Sequelize를 사용하여 MySQL 데이터베이스와 상호작용하는 방식
  • 전문: https://bezkoder.com/node-js-jwt-authentication-mysql/

    토큰 기반 인증


    Cookie에 세션을 저장해야 하는 세션 기반 인증에 비해 토큰을 기반으로 하는 인증의 가장 큰 장점은 JSON 웹 토큰(JWT)을 클라이언트에 저장하는 것입니다. 브라우저용 로컬 저장소입니다.IOS의 Keychain과 안드로이드의 Shared References... 따라서 우리는 본체 응용 프로그램을 지원하는 또 다른 백엔드 프로젝트를 구축할 필요도, 본체 응용 프로그램 사용자를 위한 추가 인증 모듈을 구축할 필요도 없다.

    JWT는 세 가지 중요한 부분이 있는데 그것이 바로 머리, 유효 하중과 서명이다.그것들은 함께 표준 구조로 조합되었다. header.payload.signature클라이언트는 일반적으로 JWT를 호스팅 접두어가 있는 라이센스 헤드에 첨부합니다.
    Authorization: Bearer [header].[payload].[signature]
    
    또는 x-access-token 헤더에만 해당:
    x-access-token: [header].[payload].[signature]
    
    자세한 내용은 다음을 참조하십시오.
    In-depth Introduction to JWT-JSON Web Token

    노드 개요.js Express 로그인 및 등록 예


    우리는 노드를 세울 것이다.js Express 응용 프로그램:
  • 사용자는 새 계정을 등록하거나 사용자 이름과 비밀번호를 사용하여 로그인할 수 있습니다.
  • 사용자의 역할(관리자, 관리자, 사용자)에 따라 저희는 사용자에게 자원에 접근할 수 있는 권한을 부여합니다
  • 이것은 우리의 노드다.MySQL 데이터베이스를 사용하여 js 응용 프로그램 데모를 실행하고 Postman을 사용하여 Rest API를 테스트합니다.
    다음과 같은 API가 필요합니다.
  • POST/api/auth/signup신규 계정 등록
  • POST/api/auth/signin 로그인 계정
  • 획득/api/test/all 공통 콘텐츠 검색
  • 사용자 콘텐츠 액세스/api/test/user
  • 액세스/api/test/mod 릴리프의 콘텐츠
  • 관리자의 컨텐츠 액세스/api/test/admin

    JWT 인증을 사용하여 등록 및 로그인 프로세스


    이 그림은 사용자 등록, 사용자 로그인, 권한 수여 절차를 보여 줍니다.

    클라이언트가 보호된 리소스에 액세스하려면 HTTP x-access-token 헤더에 올바른 JWT를 추가해야 합니다.
    다음과 같은 토큰을 갱신해야 할 수도 있습니다.

    자세한 내용은 https://bezkoder.com/jwt-refresh-token-node-js/

    노드인증 및 권한 부여가 있는 js Express 아키텍처


    너는 우리의 노드를 대체적으로 이해할 수 있다.다음 그림과 같이 js Express 응용 프로그램

    빠른 라우팅을 통해 라우팅과 일치하는 HTTP 요청이 보안 계층에 들어가기 전에 CORS 중간부품에서 확인됩니다.
    보안 계층은 다음과 같습니다.
  • JWT 인증 중간부품: 인증 등록, 인증 영패
  • 권한 수여 중간부품: 데이터베이스에 있는 기록을 사용하여 사용자 역할 검사
  • 이러한 중간부품에서 오류가 발생하면 HTTP 응답 형식으로 메시지가 전송됩니다.
    컨트롤러는 Sequelize를 통해 MySQL 데이터베이스와 상호작용을 하고 클라이언트에게 HTTP 응답(영패, 사용자 정보, 역할 기반 데이터...)을 보냅니다.
    자세한 내용, 구현 및 Github에 대한 자세한 내용은 다음을 참조하십시오.
    https://bezkoder.com/node-js-jwt-authentication-mysql/
    Cookies 사용: https://www.bezkoder.com/node-js-express-login-example/
    여기에 적합한 프런트엔드:
  • Angular 8
  • Angular 10
  • Angular 11
  • Angular 12
  • Vue.js
  • React (without Redux)
  • React Redux
  • 다음과 같은 토큰을 갱신해야 할 수도 있습니다.

    자세한 내용은 https://bezkoder.com/jwt-refresh-token-node-js/

    한층 더 읽다

  • Node.js Rest APIs example with Express, Sequelize & MySQL
  • Node.js + MongoDB: User Authentication & Authorization with JWT
  • Node.js + PostgreSQL: User Authentication & Authorization with JWT
  • Fullstack:
  • Vue.js + Node.js + Express + MySQL example
  • Vue.js + Node.js + Express + MongoDB example
  • Angular 8 + Node.js Express + MySQL example
  • Angular 10 + Node.js Express + MySQL example
  • Angular 11 + Node.js Express + MySQL example
  • Angular 12 + Node.js Express + MySQL example
  • React + Node.js + Express + MySQL example
  • 배포:
  • Deploying/Hosting Node.js app on Heroku with MySQL database
  • Dockerize Node.js Express and MySQL example – Docker Compose
  • 노드js 및 MySQL 연관:
  • One-to-Many Relationship example
  • Many-to-Many Relationship example
  • Dockerize:Docker Compose: Node.js Express and MySQL example

    좋은 웹페이지 즐겨찾기