내 AuthController.js에서 나는 검사 할 때 로그인 사점 경우 설정하고 세션에서의 해시 코드를 설정되지 않은 :Passport.js 세션은 로그인 안드로이드
req.logIn(user, function (err) {
if (err) res.send(err);
var redirectTo = req.session.redirectTo ? req.session.redirectTo : '/user/show/'+user.id;
delete req.session.redirectTo;
bcrypt.genSalt(10, function (err, salt) {
bcrypt.hash(user.email, salt, function (err, hash) {
if (err) {
console.log(err);
} else {
req.session.passport.user_type = user.type;
req.session.passport.user_avatar = user.avatar;
req.session.passport.email = user.email;
req.session.passport.token = hash;
// here session is set! also when login with Android
console.log("User passport Sessions: ",req.session.passport)
res.json(user);
res.end();
}
});
})
})
내가 브라우저로 로그인 할 때 세션이 설정되어 내가 예상대로 내 안드로이드 응용 프로그램 (발리 요청) 모든 작업에 로그인하면
'who': function (req, res) {
res.json(req.session);
},
,하지만 난 후 성공적으로 로그인 한 후이 '사람'컨트롤러에 새로운 요청을 할 때 - 나는 다른 간단한 컨트롤러를 확인 , 전체 '여권'속성은 널입니다.
안드로이드 앱으로 로그인 할 때 여권 세션이 설정되지 않는 이유는 무엇입니까?
질문 : 발리 요청이 브라우저 요청과 다른가요? 서버가 발리 요청에 대한 세션을 저장할 수없는 경우 서버에서 사용자가 이미 로그인 한 것을 (두 번째 요청시) 어떻게 알 수 있습니까? 한편 - 세션 부분이없는
{ 'user-agent': 'Dalvik/2.1.0 (Linux; U; Android 6.0; Android SDK built for x86 Build/MASTER)',
host: '10.0.2.2:1337',
connection: 'Keep-Alive',
'accept-encoding': 'gzip' }
{ 'if-none-match': 'W/"1f3e-WoreHgYUy3uvXGNH++ttsQ"',
'user-agent': 'Dalvik/2.1.0 (Linux; U; Android 6.0; Android SDK built for x86 Build/MASTER)',
host: '10.0.2.2:1337',
connection: 'Keep-Alive',
'accept-encoding': 'gzip' }
:
{ host: 'localhost:1337',
connection: 'keep-alive',
'cache-control': 'max-age=0',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36',
accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'accept-encoding': 'gzip, deflate, sdch',
'accept-language': 'de-DE,de;q=0.8,en-US;q=0.6,en;q=0.4',
cookie: '__utma=111872281.1508283337.1455636609.1455636609.1455636609.1; __utmz=111872281.1455636609.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); _ga=GA1.1.1508283337.1455636609; sails.sid=s%3AHNW3D3ktwA79IFHH4gX9Ko6o73MZOjRK.I7sTYkCKSkkwset6OC2ap58fcROPtV6PqUnkaInGW44',
'if-none-match': 'W/"1f3e-WoreHgYUy3uvXGNH++ttsQ"' }
그리고이 같은 발리 이상의 안드로이드 요청이 모습입니다 : 크롬과 같은 방법
나는 req.headers 덤프
이있다 나 자신이 세션 관리를 구현해야한다는 것을 알고있다. 세션이있는 Volley에 대한 여러 HTTP 요청에 대한 간단한 자습서가 있습니까?
다시 1.5 개월 후 : 다시 사용하십시오! 개량은 1000 배 더 쉽고 더 좋아 - 나는 그것을 알고 싶다 https://futurestud.io/tutorials/retrofit-add-custom-request-header – Suisse