CHỨNG THỰC CƠ BẢN TRONG NODEJS VÀ EXPRESS.


Chứng thực cơ bản nhanh và hiệu quả cho viêc bảo vê nội dung của ứng dụng.
1.    Tạo một ứng dụng express đơn giản với:
File : package.json

{
  "name" : "BasicAuthExample",
  "version" : "0.0.1",
  "dependencies" : {
    "express" : "3.x"
  }
}

App.js

var express = require('express');
var app = express();

app.get('/home', function(req, res) {
 res.send('Hello World');
});

app.listen(process.env.PORT || 8080);
Với đường dẫn /home hiện tại tất cả mọi người có thể vào được và ứng dụng đang chay port 8080
CHỨNG THỰC TOÀN CỤC:
Đồng bộ:
Cách đơn giản là add code sau vào file app.js:
var express = require('express');
var app = express();

// Authenticator
app.use(express.basicAuth(‘testUser’, 'testPass'));

app.get('/home', function(req, res) {
 res.send('Hello World');
});

app.listen(process.env.PORT || 8080);

trên ví dụ trên thì user phải nhập : testUser và password là: testPass để truy cập vào /home
Hàm đồng bộ:
Với hàm này ta định nghĩa hàm return true hay false
// Authenticator
app.use(express.basicAuth(function(user, pass) {
 return user === 'testUser' && pass === 'testPass';
}));
Bất đồng bộ:
// Authenticator
app.use(express.basicAuth(function(user, pass, callback) {
 var result = (user === 'testUser' && pass === 'testPass');
 callback(null /* error */, result);
}));
Trong ví dụ này với 1 callback bất đồng bộ bạn có thể tìm kiếm username và password trong database.
XÁC THỰC ĐƠN-HƯỚNG (SINGGLE-ROUTE)
Chúng ta sẽ đặt biến như sau:
// Synchronous
var auth = express.basicAuth('testUser', 'testPass');

// Synchronous Function
var auth = express.basicAuth(function(user, pass) {
 return user === 'testUser' && pass === 'testPass';
});

// Asynchronous
var auth = express.basicAuth(function(user, pass, callback) {
 var result = (user === 'testUser' && pass === 'testPass');
 callback(null /* error */, result);
});

Với đường dẩn /home chúng phải được chứng thực, ngoài ra các đường dẫn khác sẽ không được chứng thực.
app.get('/home', auth, function(req, res) {
 res.send('Hello World');
});
app.get('/noAuth', function(req, res) {
 res.send('Hello World - No Authentication');

Nhận xét

Bài đăng phổ biến từ blog này

Trang web medium.com chết, vì sao ?

Cách sử dụng sys.argv trong python.

Thiết kế một RESTful API bằng python và flask.