THẢO LUẬN

Jun 4th, 2018 2:13 a.m.

Mình đoán chắc là bạn tách backend (Nodejs) và frontend (Vuejs) ra làm hai project tách biệt nhau rồi. Bạn có thể tham khảo cách là ở Nodejs thêm middeware accept cross domain. Sau đó thì bên Nodejs vẫn giữ lại phiên đăng nhập của bên Vuejs như bình thường. Bạn thêm mấy dòng sau để accept cross domain

app.use(function(req, res, next) {
	res.header('Access-Control-Allow-Credentials', true);
	res.header('Access-Control-Allow-Origin',  req.headers.origin);
	res.header('Access-Control-Allow-Methods','OPTIONS,GET,PUT,POST,DELETE');
	res.header('Access-Control-Allow-Headers', 'X-Requested-With, X-HTTP-Method-Override, Content-Type, Accept, X-XSRF-TOKEN');
	
        next();
});

Ví dụ bạn dùng passport để đăng nhập :

router.post('/login', function (req, res, next) {
	passport.authenticate('local', function (err, user) {
		if (err) { throw new errr; }

		if (!user) {
			return res.status(401).json({
				failureMessage: 'Invalid username or password!'
			});
		}

		return req.logIn(user, function (err) {
			return res.status(200).json({
                               messages : 'Login successfull'
                       })
		});

	})(req, res, next);
});

Bây h mỗi lần đăng nhập bên Vuejs bạn gửi thông tin đăng nhập sang /login như bình thường thôi ý. Cách này khổ cái là bất cứ chỗ nào cần thông tin user thì mình cứ phải gửi lại cho nó req.user từ bên Nodejs sang... 😄 😄 😄

+1
Jun 4th, 2018 1:28 a.m.

Cảm ơn anh đã cmt, em mới chỉ để tag ở bài series. Quên chưa để ở các bài bên trong 😄

+2
Avatar
đã bình luận cho bài viết
Jun 4th, 2018 1:15 a.m.

Bạn có thể thêm tag kotlin vào bài viết để sau mình tìm đọc tiếp đc ko?

+1
Jun 4th, 2018 12:49 a.m.

Nếu bạn có tham khảo nguồn khác thì xin hãy trích dẫn lại.

+2

nỡm ạ 😃))

0

ad ơi sao em không thấy file dispatcher-servlet.xml với hibernate.cfg ạ?

0

Admin ơi cho em hỏi là em muốn tạo hàm search nhưng em dùng spring boot không phải springMVC thì có đc dùng hàm này không ạ?

0
Jun 3rd, 2018 3:03 p.m.

Thank you!!

+1
Jun 3rd, 2018 2:35 p.m.

Biết sao được bạn. Về giáo trình mới thì đầy đũ trực quan hơn cũ. Nhưng về UI/UX thì kém hẳn =)))

0
Jun 3rd, 2018 2:20 p.m.

thật sự thì cái chứng chỉ nhìn xấu ghê. cái đích cho ae học FCC mà trông vầy nhiệt huyết giảm đi 1 nửa :v

+1
Jun 3rd, 2018 2:05 p.m.

@thangtd90 Dạ em cám ơn anh nhiều ạ. Anh có thể cho em ví dụ về sử dụng giữa passport nodejs và vuejs được không ạ. Em cám ơn anh nhiều ạ

0
Jun 3rd, 2018 2:01 p.m.

Có lẽ em đang có sự nhầm lẫn gì đó ở đây. 😄 Đầu tiên em nên tìm hiểu kỹ hơn về khái niệm SessionCookie. Session được lưu ở Server, và Cookie được lưu ở Browser.

Em có thể tham khảo một vài bài viết trên Viblo:

Thế nên em không việc gì phải bối rối cả, vì Session luôn được lưu ở Server rồi 😂

Còn về cách xác thực người dùng bằng passport thì không rõ em đang gặp vấn đề cụ thể là gì, em có thể tham khảo các bài viết khác trên Viblo:

+1

Rất hay đó a

+1

Bài viết hay. Em tiếp tục hóng phần sau. Cảm ơn a Tú

0
Jun 3rd, 2018 11:27 a.m.
0

Anh oi cho em hoi .. Em muon link image mysql vao image ubuntu thay vi RUN cmd trong Dockerfile duoc khong a ?

0
Jun 3rd, 2018 8:43 a.m.

Anh cho e hỏi là áp dụng để th front end nó gọi tới cái api này thì có realtime đc luôn ko anh? vd như dùng ajax gọi tới api thì ở call back của nó mỗi khi có ng insert vào thì nó có cập nhật ko ạ? Thank anh

0

Ứng dụng mang tính chuẩn mực đạo đức cao =)) Em cứ tưởng mỗi em lỡ tay đưa 2 diễn viên phim Nhật vào post đã là bầu trời tư cách rồi =))

0

Cám ơn bạn 😄

0

Bao giờ thì có phần tiếp theo ạ. Bài viết rất bổ ích ❤️

0
Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí