รับรองความถูกต้องแอปมือถือดั้งเดิมโดยใช้ REST API


16

ฉันกำลังเริ่มโครงการใหม่เร็ว ๆ นี้ซึ่งกำหนดเป้าหมายแอปพลิเคชันมือถือสำหรับแพลตฟอร์มมือถือที่สำคัญทั้งหมด (iOS, Android, Windows) มันจะเป็นสถาปัตยกรรมไคลเอนต์เซิร์ฟเวอร์

แอพนี้เป็นทั้งข้อมูลและธุรกรรม สำหรับส่วนการทำธุรกรรมพวกเขาจะต้องมีบัญชีและเข้าสู่ระบบก่อนที่จะสามารถทำธุรกรรมได้ ฉันยังใหม่ต่อการพัฒนาอุปกรณ์พกพาดังนั้นฉันจึงไม่ทราบว่าส่วนการรับรองความถูกต้องจะทำอย่างไรบนแพลตฟอร์มเหล่านี้ ลูกค้าจะสื่อสารกับเซิร์ฟเวอร์ผ่าน REST API จะใช้หลักสูตร HTTPS

ฉันยังไม่ได้ตัดสินใจว่าต้องการให้ผู้ใช้เข้าสู่ระบบเมื่อพวกเขาเปิดแอพหรือเมื่อพวกเขาทำธุรกรรม

ฉันได้รับคำถามต่อไปนี้:

1) เช่นเดียวกับแอปพลิเคชั่น Facebook คุณจะป้อนข้อมูลรับรองของคุณเมื่อคุณเปิดแอปพลิเคชั่นเป็นครั้งแรกเท่านั้น หลังจากนั้นคุณจะลงชื่อเข้าใช้อัตโนมัติทุกครั้งที่คุณเปิดแอพ เราจะทำสิ่งนี้ให้สำเร็จได้อย่างไร? เพียงแค่เข้ารหัสและจัดเก็บข้อมูลรับรองบนอุปกรณ์และส่งทุกครั้งที่แอปเริ่มทำงาน

2) ฉันต้องพิสูจน์ตัวตนผู้ใช้สำหรับคำขอ (ธุรกรรม) ที่ทำกับ REST API หรือใช้วิธีตามโทเค็นหรือไม่?

โปรดแนะนำวิธีอื่น ๆ ในการตรวจสอบสิทธิ์

ขอบคุณ!

คำตอบ:


14

คุณส่งชื่อผู้ใช้ / รหัสผ่านไปยังวิธีการเข้าสู่ระบบของ RESTful API และจะส่งคืนการเข้าถึงโทเค็น โทเค็นการเข้าถึงนั้นเป็นเพียงสตริงที่ไม่ซ้ำกัน (สำหรับระบบ)

อุปกรณ์จัดเก็บ (ยังคงมีอยู่) ที่โทเค็นการเข้าถึง ทุกครั้งที่คุณส่งคำขอ RESTful ไปยังเซิร์ฟเวอร์คุณวางโทเค็นการเข้าถึงนั้นไว้ในส่วนหัวของคำขอ HTTP เซิร์ฟเวอร์ค้นหาผู้ใช้โดยการเข้าถึงโทเค็นและดำเนินการตามคำขอสำเร็จ

ชื่อผู้ใช้ / รหัสผ่านจะต้องไม่ถูกเก็บไว้ในอุปกรณ์


เป็นไปได้หรือไม่ที่บุคคลที่สาม (แฮกเกอร์ ฯลฯ ) จะได้รับโทเค็นการเข้าถึง?
Supercell

แน่นอนว่าเป็นไปได้ โดยเฉพาะถ้าคุณไม่ได้ใช้ HTTPS ลูกค้าอีเมลออนไลน์ส่วนใหญ่ขอให้คุณเชื่อมต่อใหม่เป็นครั้งคราว โทเค็นมีการกำหนดเวลาหมดอายุเป็นสองสัปดาห์ ดังนั้นหนึ่งครั้งต่อสองสัปดาห์คุณจะต้องเข้าสู่ระบบใหม่
c-smile

วิธีสร้างโทเค็นการเข้าถึงและสร้างโทเค็นการเข้าถึงบนเซิร์ฟเวอร์
Ghyath Serhal

@ c-smile Facebook ไม่เคยขอให้ฉันเข้าสู่ระบบอีกครั้ง ดังนั้นฉันไม่เห็นความแตกต่างระหว่างรหัสผ่านและโทเค็นการเข้าถึง
Mickael Marrache

ฉันรู้ว่ามันค่อนข้างช้า แต่ Facebook และผู้ให้บริการอื่น ๆ ออกโทเค็นการรีเฟรชเวลาเข้าถึงโทเค็นและเวลาหมดอายุ (สำหรับการเข้าถึงโทเค็น) ในเวลาที่เข้าสู่ระบบ โทเค็นการเข้าถึงมีอายุสั้นและโทเค็นการเข้าถึงใหม่สามารถสร้างขึ้นได้โดยใช้โทเค็นการรีเฟรช การเข้าสู่ระบบครั้งต่อไปสามารถสร้างโทเค็นการรีเฟรชใหม่ทำให้สิ่งเก่าไม่ถูกต้อง
Cerlin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.