나는 이것에 관해 많은 걸음돌이가 있음을 알고 있지만, 내가 찾던 것을 발견하지 못했습니다.노드 js와의 사용자 인증
그래서 노드 js로 사용자 로그인을 만들고 싶습니다. express, mongo db를 사용하고 있지만 무엇보다도 socket.io를 사용하고 있습니다.
app.get('/', function(req, res) {
fs.readFile(__dirname + '/../index.html', 'utf8', function(err, text){
res.send(text);
});
});
<form method="get" id="lala" >
<input type="text" name="user">
<input type="text" name="user">
<button id="button">KOKo</button>
</form>
버튼 클릭에 : 그래서 나는 사람들이 내 index.html 파일, 사용자 지정 양식을 채우려는 내가이 사용자 이름과 암호를 확인하고 싶은 서버 측에서 이제
socket.emit('checkLogin', { my collected data from the form });
및 만약 그들이 괜찮 으면, (내가 어떻게 여기에,하지만 PHP는 내가 SESSION['user_id']
(예) 그래서 내가이 세션을 확인할 수있는 다른 요청에 대한 돌아 오면 그 사용자가 로그인되어 있고 그 사람을 알고 cna가 페이지를 참조하십시오. passport.js mongo-db 세션 저장소를 보았지만 데모가 작동하지 못했습니다. 세션을 저장하는 방법, 세션을 확인하는 방법, 그리고 이러한 모든 종류의 것들. 내가 가게에 세션을 설정하고 내가 어떻게이 그 이후에 도달 하죠 어떻게 지금
function check_auth_user(username,password,done,public_id){
var sql="SELECT * FROM `table` WHERE username = '"+ username +"' and password = '"+ password +"' limit 1";
connection.query(sql, function (err,results) {
if (err) throw err;
if(results.length > 0){
var res=results[0];
passport.serializeUser(function(res, done) {
done(null,res);
});
passport.deserializeUser(function(id, done) {
done(null,res);
});
return done(null, res);
} else {
return done(null, false);
}
});
}
을하지만 :
그래서 누군가가 나를 도와 나 같은 바보를위한 데모를 적어처럼 할 수 있다면? 소켓에서 연결 한 올바른 사용자에게 보내는 방법도 있습니다.
설명 :
지금, 당신은
req.user
하여 사용자 개체에 액세스 할 수 있습니다 -express-sessions –내 게시물을 편집 해 주셔서 감사합니다. :-). 좋아,이 세션이 끝나고 나면 끝내주는 데모가 될 것입니다. 이제 소켓 함수에서이 "req"매개 변수에 어떻게 도달 할 수 있는지 묻습니다. 내가 얻을 수있는 유일한 매개 변수는 단지 socket 일 뿐이므로 반환 할 방법을 모른다. 그래서 콘솔 할 수있다. 내가 시도 할 때 : TypeError : Object.stringify (기본)에서 순환 구조체를 JSON 으로 변환 – Izopi4a