จัดเก็บโทเค็นการยืนยันตัวตนอย่างปลอดภัย
รูปแบบใช้งานจริงสำหรับเก็บข้อมูลรับรอง
จัดเก็บโทเค็นการยืนยันตัวตนอย่างปลอดภัย เป็นบทเรียน Kotlin Multiplatform Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Kotlin Multiplatform Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Kotlin Multiplatform Academy มีบทเรียนทั้งหมด 4 บทเรียน
โทเค็นต้องมีที่จัดเก็บ
หลังจากเข้าสู่ระบบ แอปของคุณจะมีโทเค็นยืนยันตัวตนที่ต้องจดจำไว้แม้เปิดแอปใหม่ ตำแหน่งที่จัดเก็บโทเค็นมีความสำคัญมาก 🔐
Settings แบบทั่วไปไม่ปลอดภัย
Settings แบบทั่วไปจะจัดเก็บค่าเป็นข้อความธรรมดา ซึ่งเหมาะสำหรับธีม แต่มีความเสี่ยงสำหรับโทเค็นที่ให้สิทธิ์เข้าถึงบัญชี
พื้นที่จัดเก็บแบบเข้ารหัส
สำหรับข้อมูลลับ โปรดใช้พื้นที่จัดเก็บที่เข้ารหัสโดยระบบปฏิบัติการ ได้แก่ Keychain บน iOS และ EncryptedSharedPreferences บน Android
ซ่อนไว้เบื้องหลังอินเทอร์เฟซ
กำหนดอินเทอร์เฟซ TokenStore ขนาดเล็กที่ใช้ร่วมกัน เพื่อให้ commonMain ไม่จำเป็นต้องรู้ว่าแต่ละแพลตฟอร์มใช้ระบบจัดเก็บข้อมูลที่ปลอดภัยแบบใด
interface TokenStore {
fun save(token: String)
fun read(): String?
fun clear()
}ประกาศการใช้งานจริงด้วย expect
ประกาศตัวสร้างด้วย expect ใน commonMain จากนั้นแต่ละแพลตฟอร์มจะจัดเตรียมเวอร์ชันใช้งานจริงที่ปลอดภัยของตนเอง
expect fun createTokenStore(): TokenStoreบันทึกหลังเข้าสู่ระบบ
ทันทีที่เข้าสู่ระบบสำเร็จ ให้เขียนโทเค็นผ่านพื้นที่จัดเก็บที่ใช้ร่วมกัน ส่วนติดต่อผู้ใช้จะไม่เข้าถึงพื้นที่จัดเก็บโดยตรง
fun onLogin(store: TokenStore, token: String) {
store.save(token)
}อ่านค่าเมื่อเริ่มต้น
เมื่อเปิดแอป ให้อ่านโทเค็นเพื่อพิจารณาว่าผู้ใช้เข้าสู่ระบบแล้วหรือควรเห็นหน้าจอเข้าสู่ระบบ
val loggedIn = store.read() != nullแนบไปกับคำขอ
ส่งโทเค็นเข้าไปในไคลเอ็นต์ Ktor เป็นส่วนหัว Bearer เพื่อให้ทุกการเรียกใช้ที่ต้องยืนยันตัวตนส่งโทเค็นไปโดยอัตโนมัติ
header("Authorization", "Bearer " + token)ล้างเมื่อออกจากระบบ
เมื่อผู้ใช้ออกจากระบบ ให้ใช้ clear ล้างโทเค็น เพื่อไม่ให้มีการนำกลับมาใช้ซ้ำ โปรดล้างข้อมูลรับรองอย่างตั้งใจเสมอ
fun onLogout(store: TokenStore) {
store.clear()
}อย่าบันทึกโทเค็นในบันทึก
อย่าให้โทเค็นปรากฏในบันทึกหรือรายงานข้อขัดข้อง ข้อมูลลับที่รั่วไหลอยู่ในไฟล์บันทึกมีอันตรายไม่ต่างจากการจัดเก็บเป็นข้อความธรรมดา
รูปแบบเดียวกันทั้งสองแอป
รูปแบบ expect/actual นี้ช่วยให้โค้ดที่ใช้ร่วมกันสะอาดและเป็นระเบียบ ขณะที่แต่ละแพลตฟอร์มจัดการข้อมูลลับด้วยวิธีดั้งเดิมที่ปลอดภัย
ตรวจสอบอย่างรวดเร็ว
มายืนยันแนวทางการจัดเก็บข้อมูลอย่างปลอดภัยกัน
สรุป
คุณจัดเก็บโทเค็นในพื้นที่จัดเก็บที่ปลอดภัยของแพลตฟอร์มโดยซ่อนไว้หลัง TokenStore ที่ใช้ร่วมกัน บันทึกหลังเข้าสู่ระบบ ล้างเมื่อออกจากระบบ และไม่บันทึกข้อมูลลับลงในบันทึก เท่านี้ก็จบหลักสูตรแล้ว 🎉
เรียนรู้ Kotlin ด้วย AI tutor — ฟรี
เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป
- คอร์ส
- 30
- บทเรียน
- 120
คำถามที่พบบ่อย
บทเรียน “จัดเก็บโทเค็นการยืนยันตัวตนอย่างปลอดภัย” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “จัดเก็บโทเค็นการยืนยันตัวตนอย่างปลอดภัย” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Kotlin Multiplatform Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Kotlin Multiplatform Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “จัดเก็บโทเค็นการยืนยันตัวตนอย่างปลอดภัย”
รูปแบบใช้งานจริงสำหรับเก็บข้อมูลรับรอง คุณปฏิบัติ Kotlin Multiplatform Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Kotlin Multiplatform Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Kotlin Multiplatform Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “จัดเก็บโทเค็นการยืนยันตัวตนอย่างปลอดภัย” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Kotlin Multiplatform Academy นี้ได้ไหม
ได้ บทเรียน Kotlin Multiplatform Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- เหตุผลที่ต้องมีนามธรรมสำหรับการตั้งค่า
- อ่านและเขียนค่าตามชนิดข้อมูล
- ค่าเริ่มต้นและการล้างคีย์
- จัดเก็บโทเค็นการยืนยันตัวตนอย่างปลอดภัย