การส่งคำขอ HTTP ด้วยการตรวจสอบสิทธิ์พื้นฐาน

Kotlin:
การส่งคำขอ HTTP ด้วยการตรวจสอบสิทธิ์พื้นฐาน

วิธีการ:

Kotlin จัดการ HTTP requests ด้วยไลบรารีเช่น ktor หรือ okhttp มาลองใช้ okhttp กันในตอนนี้

ให้ทำการดึงไลบรารีในไฟล์ build.gradle ของคุณ:

dependencies {
    implementation("com.squareup.okhttp3:okhttp:4.9.0")
}

ถึงเวลาเขียนโค้ด:

import okhttp3.Credentials
import okhttp3.OkHttpClient
import okhttp3.Request
import java.io.IOException

fun main() {
    val client = OkHttpClient()

    val username = "admin"
    val password = "password123"
    val credentials = Credentials.basic(username, password)

    val request = Request.Builder()
        .url("http://example.com/resource")
        .header("Authorization", credentials)
        .build()

    client.newCall(request).execute().use { response ->
        if (!response.isSuccessful) throw IOException("Unexpected code $response")

        println(response.body!!.string())
    }
}

กดรันและมองหาข้อมูลที่ปลอดภัยที่เราต้องการจากคอนโซลของคุณ เราควรจะเห็นข้อมูลนั้นถูกแสดงออกมา

ลงลึก

ในอดีต HTTP Basic Auth เป็นที่นิยม ง่ายๆ เพียงแค่ base64 username:password และใส่ลงในส่วนหัว ไม่ปลอดภัยเมื่อใช้คนเดียว ดังนั้น HTTPS จึงได้เข้ามามีบทบาท

มีทางเลือกอื่นๆ มากมาย เช่น OAuth สำหรับโทเค็น, API keys ที่ความเรียบง่าย, หรือการยืนยันตัวตนแบบ digest สำหรับการอัพเกรด การยืนยันตัวตนพื้นฐานดีสำหรับการเริ่มต้นหรือสำหรับเครื่องมือภายใน แต่ไม่เหมาะสำหรับเว็บที่ตระหนักถึงความปลอดภัยในยุคสมัยใหม่

รายละเอียดการประยุกต์ใช้: อย่าไปออกแบบใหม่ ให้ไลบรารีจัดการกับการเข้ารหัสและซับซ้อนของโปรโตคอล OkHttp ยังช่วยจัดการกับการลองใหม่และการเชื่อมต่อสำหรับคุณ จำไว้ว่า การยืนยันตัวตนพื้นฐานผ่าน HTTP เป็นสิ่งที่ไม่ควรทำ—เสมอใช้ HTTPS เพื่อรักษาข้อมูลปลอดภัยขณะส่งผ่าน

ดูเพิ่มเติม