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
Đăng nhận xét