programing

node.js 및 mongodb에서 등록 및 로그인 양식 만들기

telecom 2023. 7. 19. 21:10
반응형

node.js 및 mongodb에서 등록 및 로그인 양식 만들기

나는 node.js에 처음이며 사용자에 대한 등록 및 로그인 페이지를 만들고 싶습니다. 또한 사용자에 대한 적절한 권한이 있어야 합니다.mongodb 데이터베이스에 사용자 정보를 저장하고 싶습니다.이것을 어떻게 달성할 수 있을까요? 누가 코드를 제공하여 node.js와 mongodb로 시작할 수 있도록 할 수 있을까요?제발 도와주세요.

여러분은 알렉스 영의 노데패드 애플리케이션에서 여러분이 하려는 것의 완전한 샘플을 찾을 수 있습니다.다음 두 가지 중요한 파일을 살펴봐야 합니다.

https://github.com/alexyoung/nodepad/blob/master/models.js
https://github.com/alexyoung/nodepad/blob/master/app.js

모델의 일부는 다음과 같습니다.

  User = new Schema({
    'email': { type: String, validate: [validatePresenceOf, 'an email is required'], index: { unique: true } },
    'hashed_password': String,
    'salt': String
  });

  User.virtual('id')
    .get(function() {
      return this._id.toHexString();
    });

  User.virtual('password')
    .set(function(password) {
      this._password = password;
      this.salt = this.makeSalt();
      this.hashed_password = this.encryptPassword(password);
    })
    .get(function() { return this._password; });

  User.method('authenticate', function(plainText) {
    return this.encryptPassword(plainText) === this.hashed_password;
  });

  User.method('makeSalt', function() {
    return Math.round((new Date().valueOf() * Math.random())) + '';
  });

  User.method('encryptPassword', function(password) {
    return crypto.createHmac('sha1', this.salt).update(password).digest('hex');
  });

  User.pre('save', function(next) {
    if (!validatePresenceOf(this.password)) {
      next(new Error('Invalid password'));
    } else {
      next();
    }
  });

dailyjs 사이트에서도 코드를 설명하는 것 같습니다.

저는 정확히 이것을 하기 위해 보일러 플레이트 프로젝트를 작성했습니다.계정 생성, 이메일을 통한 비밀번호 검색, 세션, 사용자가 돌아올 때 기억하기 위한 로컬 쿠키, bcyrpt를 통한 보안 비밀번호 암호화를 지원합니다.

제 블로그에는 프로젝트의 구조에 대한 자세한 설명도 있습니다.

쉽게 시작할 수 있는 방법은 Express입니다.JS + 몽구스JS + Mongoose Auth.

특히 마지막 플러그인은 여러 인증 방법(패스워드, Facebook, Twitter 등)을 사용하여 로그인할 수 있는 간단한 표준 방법을 제공합니다.

언급URL : https://stackoverflow.com/questions/8051631/creating-registration-and-login-form-in-node-js-and-mongodb

반응형