Flask Academy · Pelajaran

Uji Titik Akhir yang Terautentikasi

Masuk di dalam pengujian untuk mencapai rute yang dilindungi.

Pelajaran 4 dari 413 langkah

Uji Titik Akhir yang Terautentikasi adalah pelajaran Flask Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Flask Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Flask Academy mencakup 4 pelajaran total.

Tantangan Pengujian Autentikasi

Rute yang dilindungi menolak pengunjung anonim. Untuk mengujinya, klien Anda harus terlebih dahulu masuk, sama seperti pengguna nyata sebelum mengakses halaman yang dijaga.

Pastikan Penjagaan Berfungsi

Mulailah dengan membuktikan bahwa gerbang tertutup. Minta rute saat belum masuk dan tegaskan bahwa Anda mendapatkan pengalihan atau respons 401.

resp = client.get('/dashboard')
assert resp.status_code == 302

Masuk melalui Rute Masuk

Cara realistis untuk melakukan autentikasi adalah mengirim kredensial ke titik akhir masuk Anda. Klien menyimpan kuki sesi secara otomatis.

client.post('/login', data={'email': 'a@b.com', 'password': 'pw'})

Klien Menyimpan Kuki

Satu hal yang praktis: klien pengujian mengingat kuki di antara pemanggilan. Setelah masuk, permintaan berikutnya tetap terautentikasi tanpa pekerjaan tambahan.

Akses Rute yang Dilindungi

Setelah Anda masuk, minta lagi halaman yang dijaga. Kali ini tegaskan bahwa Anda mendapatkan 200 dan melihat konten yang dilindungi.

resp = client.get('/dashboard')
assert resp.status_code == 200

Pembantu untuk Masuk

Mengulangi pengiriman masuk membuat kode berisik. Bungkus dalam fungsi pembantu kecil agar setiap pengujian autentikasi terbaca rapi dalam satu baris.

def login(client):
    return client.post('/login', data={'email': 'a@b.com', 'password': 'pw'})

Perlengkapan Terautentikasi

Lebih baik lagi, buat perlengkapan yang mengembalikan klien yang sudah masuk. Pengujian yang memerlukan autentikasi cukup memintanya dan melewati penyiapan.

@pytest.fixture
def auth_client(client):
    login(client)
    yield client

Uji Alur Keluar

Autentikasi belum selesai sampai proses keluar berfungsi. Akses /logout, lalu pastikan rute yang dilindungi kembali menolak klien yang kini anonim.

client.get('/logout')
assert client.get('/dashboard').status_code == 302

Lewati Masuk demi Kecepatan

Untuk aplikasi Flask-Login, Anda dapat melewati formulir dan mengatur sesi secara langsung. Cara ini lebih cepat, tetapi menguji lebih sedikit bagian dari alur masuk yang sebenarnya.

with client.session_transaction() as sess:
    sess['_user_id'] = '1'

Uji API yang Dilindungi Token

Untuk API JWT, tidak ada kuki. Kirim token dalam header Otorisasi pada setiap permintaan untuk mengakses titik akhir yang dilindungi.

client.get('/api/me', headers={'Authorization': 'Bearer ' + token})

Uji Kedua Sisi Gerbang

Pengujian autentikasi yang kuat memeriksa kedua hasil: pengguna anonim diblokir, sedangkan pengguna terautentikasi diizinkan. Cakup jalur yang berhasil maupun yang gagal.

Pemeriksaan Cepat

Anda perlu menguji dasbor yang hanya dapat diakses setelah masuk. Apa yang membuatnya berfungsi?

Ringkasan: Pengujian Terautentikasi

Anda masuk melalui klien, mengandalkan ingatan kukinya, dan menegaskan jalur yang diblokir maupun yang diizinkan. Autentikasi Anda kini tercakup sepenuhnya. 🔐

Gratis untuk memulai

Belajar Python dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
30
Pelajaran
120

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Uji Titik Akhir yang Terautentikasi” gratis?

Ya — teks lengkap “Uji Titik Akhir yang Terautentikasi” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Flask Academy, upgrade ke CoddyKit PRO. Kursus Flask Academy mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Uji Titik Akhir yang Terautentikasi”?

Masuk di dalam pengujian untuk mencapai rute yang dilindungi. Kamu berlatih Flask Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Flask Academy?

Tidak diperlukan pengalaman sebelumnya. Flask Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Uji Titik Akhir yang Terautentikasi” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Flask Academy ini?

Ya. Setiap pelajaran Flask Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Klien Pengujian dan Fixture
  2. Periksa Rute dan JSON
  3. Pisahkan Pengujian dengan Basis Data Pengujian
  4. Uji Titik Akhir yang Terautentikasi
← Kembali ke Flask Academy