Kotlin Multiplatform Academy · บทเรียน

จัดเก็บโทเค็นการยืนยันตัวตนอย่างปลอดภัย

รูปแบบใช้งานจริงสำหรับเก็บข้อมูลรับรอง

บทเรียน 4 จาก 413 ขั้นตอน

จัดเก็บโทเค็นการยืนยันตัวตนอย่างปลอดภัย เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. เหตุผลที่ต้องมีนามธรรมสำหรับการตั้งค่า
  2. อ่านและเขียนค่าตามชนิดข้อมูล
  3. ค่าเริ่มต้นและการล้างคีย์
  4. จัดเก็บโทเค็นการยืนยันตัวตนอย่างปลอดภัย
← กลับไปที่ Kotlin Multiplatform Academy