노드MySQL 데이터베이스를 사용한 js Express 로그인 예
7570 단어 nodesecurityjavascriptwebdev
토큰 기반 인증
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 응용 프로그램:
다음과 같은 API가 필요합니다.
/api/auth/signup
신규 계정 등록/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 중간부품에서 확인됩니다.
보안 계층은 다음과 같습니다.
컨트롤러는 Sequelize를 통해 MySQL 데이터베이스와 상호작용을 하고 클라이언트에게 HTTP 응답(영패, 사용자 정보, 역할 기반 데이터...)을 보냅니다.
자세한 내용, 구현 및 Github에 대한 자세한 내용은 다음을 참조하십시오.
https://bezkoder.com/node-js-jwt-authentication-mysql/
Cookies 사용: https://www.bezkoder.com/node-js-express-login-example/
여기에 적합한 프런트엔드:
자세한 내용은 https://bezkoder.com/jwt-refresh-token-node-js/
한층 더 읽다
Reference
이 문제에 관하여(노드MySQL 데이터베이스를 사용한 js Express 로그인 예), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/tienbku/node-js-express-login-example-with-mysql-database-2n51텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)