Mashery IODocs - สามารถรองรับการรับรองความถูกต้องของ Passportjs จาก REST API ของฉันได้หรือไม่

ฉันใช้ iodocs จาก Mashery เป็นส่วนหน้าของนักพัฒนาสำหรับ REST API ของฉัน API ของฉันเขียนด้วย Node / Express และใช้ PassportJS เพื่อตรวจสอบสิทธิ์ผู้ใช้ (กลยุทธ์ท้องถิ่น) การใช้งานของฉันต้องการให้ผู้ใช้ใช้จุดสิ้นสุด /login โดยส่งชื่อผู้ใช้และรหัสผ่าน จากนั้น Passport จะซีเรียลไลซ์ผู้ใช้ในคุกกี้ เพื่อให้คำขอที่ตามมาไม่จำเป็นต้องเข้าสู่ระบบ

เมื่อใช้ iodocs คุกกี้ที่ Passport ตั้งค่า ("connect.sid") จะไม่ถูกส่งกลับในคำขอที่ตามมา

มีวิธีการทำเช่นนี้หรือไม่? มีวิธีการรับรองความถูกต้องที่ IODocs รองรับซึ่งทำงานในลักษณะนี้หรือไม่


person Scott Switzer    schedule 18.01.2013    source แหล่งที่มา
comment
BTW - ฉันใช้ iodocs บน localhost:3001 และ REST API ของฉันบน localhost:3000 ฉันสงสัยว่าคุกกี้ไม่สามารถส่งผ่านระหว่างพอร์ตต่างๆ ได้ ฉันจะตั้งค่า nginx เป็นพร็อกซีแล้วลองอีกครั้ง   -  person Scott Switzer    schedule 18.01.2013


คำตอบ (1)


คุกกี้จะข้ามผ่านพอร์ตต่างๆ ปัญหาที่คุณอาจพบคือ "connect.sid" ยังถูกตั้งค่าโดย I/O Docs โดยที่มันใช้โมดูลมิดเดิลแวร์ Express session.js ดังนั้นค่าคุกกี้จึงอาจถูกเขียนทับ

ลองอัปเดต I/O Docs app.js ด้วยชื่อคุกกี้อื่นในเครื่องมือเริ่มต้นเซสชัน -- ตั้งค่า "key":

app.use(express.session({
    secret: config.sessionSecret,
    key: 'iodocs.connect.sid',
    store:  new RedisStore({
        'host':   config.redis.host,
        'port':   config.redis.port,
        'pass':   config.redis.password,
        'maxAge': 1209600000
    })
}));
person mansilladev    schedule 04.03.2013