ตัวอย่างเช่นเมื่อผู้ใช้มีล็อกอินตอนนี้ให้ผู้ใช้ต้องการสร้างหัวข้อฟอรั่มฉันจะรู้ได้อย่างไรว่าผู้ใช้เข้าสู่ระบบแล้ว?
คิดเกี่ยวกับมัน - จะต้องมีการจับมือกันที่บอก "สร้างเวที" ของคุณ API ว่าคำขอปัจจุบันนี้มาจากผู้ใช้ที่ได้รับการรับรองความถูกต้อง ตั้งแต่ APIs REST มักจะไร้สัญชาติรัฐต้องหายที่ไหนสักแห่ง ลูกค้าของคุณใช้ REST APIs รับผิดชอบในการรักษาสถานะนั้น โดยปกติแล้วมันจะอยู่ในรูปแบบของโทเค็นบางตัวที่ถูกส่งผ่านมาตั้งแต่เวลาที่ผู้ใช้ล็อกอินถ้าโทเค็นดีคำขอของคุณดี
ตรวจสอบว่า Amazon AWS ทำการรับรองความถูกต้องอย่างไร นั่นเป็นตัวอย่างที่สมบูรณ์แบบของ "การผ่านเจ้าชู้" รอบ ๆ จาก API หนึ่งไปยังอีก
* ฉันคิดว่าจะเพิ่มการตอบสนองเชิงปฏิบัติบางอย่างให้กับคำตอบก่อนหน้าของฉัน ลอง Apache Shiro (หรือไลบรารีการพิสูจน์ตัวตน / การอนุญาตใด ๆ ) บรรทัดล่างลองและหลีกเลี่ยงการเข้ารหัสที่กำหนดเอง เมื่อคุณรวมไลบรารีที่คุณชื่นชอบ (ฉันใช้ Apache Shiro, btw) แล้วคุณสามารถทำสิ่งต่อไปนี้:
- สร้าง API การเข้าสู่ระบบ / ออกจากระบบเช่น:
/api/v1/login
และapi/v1/logout
- ใน API การเข้าสู่ระบบและออกจากระบบเหล่านี้ให้ทำการตรวจสอบกับร้านค้าผู้ใช้ของคุณ
- ผลที่ได้คือโทเค็น (ปกติ
JSESSIONID
) ที่ถูกส่งกลับไปยังลูกค้า (เว็บมือถืออะไรก็ตาม)
- จากจุดนี้เป็นต้นไปการโทรที่ตามมาทั้งหมดที่ทำโดยลูกค้าของคุณจะรวมโทเค็นนี้
- สมมติว่าการโทรครั้งต่อไปของคุณถูกเรียกใช้กับ API
/api/v1/findUser
- สิ่งแรกที่รหัส API นี้จะทำคือตรวจสอบโทเค็น ("ผู้ใช้นี้รับรองความถูกต้องหรือไม่")
- หากคำตอบกลับมาเป็น NO แสดงว่าคุณส่งสถานะ HTTP 401 กลับไปที่ไคลเอ็นต์ ปล่อยให้พวกเขาจัดการกับมัน
- หากคำตอบคือใช่แล้วดำเนินการส่งคืนผู้ใช้ที่ร้องขอ
นั่นคือทั้งหมดที่ หวังว่านี่จะช่วยได้