Å sende en HTTP-forespørsel med grunnleggende autentisering

Swift:
Å sende en HTTP-forespørsel med grunnleggende autentisering

Hvordan:

import Foundation

// Opprett din URL
if let url = URL(string: "https://eksempel.no/api/data") {

    // Forbered en URLRequest
    var request = URLRequest(url: url)
    request.httpMethod = "GET"

    // Legg til grunnleggende autentiseringsinformasjon
    let brukernavn = "dittBrukernavn"
    let passord = "dittPassord"
    let loginString = "\(brukernavn):\(passord)"
    if let loginData = loginString.data(using: .utf8) {
        let base64LoginString = loginData.base64EncodedString()
        request.setValue("Basic \(base64LoginString)", forHTTPHeaderField: "Authorization")
    }

    // Send forespørselen
    let session = URLSession.shared
    let task = session.dataTask(with: request) { data, response, error in
        guard let data = data, error == nil else {
            print("Feil ved forespørsel: \(error?.localizedDescription ?? "Ukjent feil")")
            return
        }
        if let responseString = String(data: data, encoding: .utf8) {
            print("Respons:\n\(responseString)")
        }
    }
    task.resume()
}

Sample output:

Respons:
{"eksempelData": "Verdi"}

Dypdykk

Før HTTPS og mer komplekse autentiseringsmetoder ble standard, ble grunnleggende autentisering mye brukt for å verifisere brukere over internett ved hjelp av Base64-koding for å sende brukernavn og passord. Riktignok er det ikke så sikkert som moderne metoder fordi Base64 er enkelt å dekode, så i dag brukes det oftere på interne nettverk eller over HTTPS. Alternative autentiseringsmetoder inkluderer OAuth og API-nøkler, som er sikrere valg for eksponerte APIer. Implementasjonsdetaljer for grunnleggende autentisering inkluderer koding av brukernavn og passord, konstruksjon av en passende HTTP-header, og håndtering av responsen.

Se Også