Keselamatan Spring dan Pengesahan JWT · Pelajaran

Jenis Pemberian OAuth2 yang Biasa

Terokai pelbagai jenis pemberian seperti Kod Kebenaran dan Kelayakan Klien, serta kes penggunaan yang sesuai untuk setiap satunya.

Pelajaran 3 daripada 412 langkah

Jenis Pemberian OAuth2 yang Biasa ialah pelajaran Keselamatan Spring dan Pengesahan JWT percuma di CoddyKit. Ini ialah pelajaran 3 daripada 4. Sebanyak 3 pelajaran dalam laluan pembelajaran ini boleh dibaca sepenuhnya secara percuma — selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan praktikal dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Keselamatan Spring dan Pengesahan JWT, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Keselamatan Spring dan Pengesahan JWT merangkumi sejumlah 4 pelajaran.

Apakah Jenis Pemberian OAuth2?

Selamat datang! Dalam OAuth2, Jenis Pemberian (atau 'Pemberian Keizinan') ialah kaedah yang digunakan oleh aplikasi untuk mendapatkan token akses daripada pelayan keizinan.

Anggaplah ia sebagai prosedur khusus atau protokol rundingan untuk mendapatkan kebenaran mengakses sumber yang dilindungi.

Mengapa Terdapat Jenis Pemberian yang Berbeza?

Anda mungkin tertanya-tanya mengapa hanya ada satu cara untuk mendapatkan token. Aplikasi yang berbeza mempunyai keperluan dan keupayaan keselamatan yang berbeza:

  • Aplikasi web dengan bahagian belakang
  • Aplikasi satu halaman (SPA) dalam pelayar
  • Aplikasi mudah alih
  • Alat baris perintah
  • Komunikasi pelayan ke pelayan

Setiap senario memerlukan pendekatan yang selamat dan disesuaikan.

Pemberian Kod Keizinan

Pemberian Kod Keizinan ialah jenis pemberian yang paling biasa dan disyorkan untuk klien sulit, khususnya aplikasi web tradisional dengan bahagian belakang.

Ia dianggap paling selamat kerana token akses tidak pernah didedahkan secara langsung dalam pelayar pengguna.

Aliran Kod Keizinan: Keizinan Pengguna

Beginilah biasanya aliran Kod Keizinan bermula:

  1. Pengguna mengklik 'Log masuk dengan X' pada aplikasi anda.
  2. Aplikasi anda mengubah hala pelayar pengguna ke Pelayan Keizinan (contohnya, Google atau GitHub).
  3. Pengguna log masuk dan memberikan kebenaran kepada aplikasi anda.
  4. Pelayan Keizinan kemudiannya mengubah hala pelayar pengguna kembali ke aplikasi anda bersama kod keizinan sementara.

Aliran Kod Keizinan: Pertukaran Token

Selepas menerima kod keizinan:

  1. Bahagian belakang aplikasi anda menerima kod keizinan.
  2. Bahagian ini kemudiannya menukar kod tersebut dengan selamat (bersama ID klien dan rahsia kliennya sendiri) secara terus dengan titik akhir token Pelayan Keizinan. Ini ialah komunikasi pelayan ke pelayan.
  3. Pelayan Keizinan mengesahkan kod dan kelayakan klien, kemudian mengeluarkan token akses (dan selalunya token penyegaran).

Pemberian Kelayakan Klien

Pemberian Kelayakan Klien digunakan untuk komunikasi mesin ke mesin tanpa melibatkan pengguna akhir.

Klien (aplikasi atau perkhidmatan anda) bertindak bagi pihaknya sendiri, lalu mengesahkan identitinya secara terus kepada Pelayan Keizinan untuk mendapatkan token akses.

Aliran Kelayakan Klien

Aliran untuk Kelayakan Klien adalah lebih mudah:

  1. Aplikasi klien anda (contohnya, perkhidmatan latar belakang) menghantar ID klien dan rahsia klien secara terus ke titik akhir token Pelayan Keizinan.
  2. Pelayan Keizinan mengesahkan kelayakan ini.
  3. Jika sah, Pelayan Keizinan mengeluarkan token akses secara terus kepada klien anda.

Tiada interaksi pengguna atau pengubahan hala pelayar diperlukan.

Kelayakan Klien dalam Tindakan

Bayangkan perkhidmatan bahagian belakang yang perlu membuat pertanyaan kepada API luaran untuk mendapatkan data. Perkhidmatan itu tidak memerlukan pengguna untuk log masuk; ia hanya memerlukan akses atas namanya sendiri.

Perkhidmatan itu akan menggunakan aliran Kelayakan Klien untuk mendapatkan token akses:

curl -X POST -u "my-client-id:my-client-secret" \ "https://auth.example.com/oauth/token" \ -d "grant_type=client_credentials"

Pemberian Kod Peranti

Pemberian Kod Peranti direka untuk peranti yang mempunyai kekangan input, seperti TV pintar, peranti IoT atau alat baris perintah yang tidak dapat menyediakan pelayar web atau menerima pengubahan hala dengan mudah.

Ia mengasingkan proses keizinan, lalu membolehkan pengguna memberikan keizinan kepada peranti melalui peranti lain yang berasingan dan lebih berkeupayaan (seperti telefon pintar atau komputer).

Aliran Kod Peranti

Berikut ialah aliran Kod Peranti yang dipermudah:

  1. Peranti meminta kod peranti dan URI pengesahan pengguna daripada Pelayan Keizinan.
  2. Peranti memaparkan URI dan kod ringkas kepada pengguna.
  3. Pengguna pergi ke URI tersebut melalui telefon atau PC, log masuk dan memasukkan kod untuk memberikan akses.
  4. Sementara itu, peranti berulang kali meninjau Pelayan Keizinan sehingga keizinan disahkan, kemudian menerima token akses.

Cabaran Jenis Pemberian

Berdasarkan perkara yang telah dipelajari, jenis pemberian OAuth2 yang manakah paling sesuai untuk perkhidmatan bahagian belakang yang perlu mengakses API lain tanpa sebarang interaksi pengguna?

Imbas Kembali: Jenis Pemberian dalam Fokus

Kita telah meneroka jenis pemberian OAuth2 yang utama: Kod Keizinan untuk aplikasi web yang selamat dengan interaksi pengguna, Kelayakan Klien untuk komunikasi pelayan ke pelayan, dan Kod Peranti untuk peranti yang mempunyai kekangan input.

Setiap jenis pemberian memenuhi keperluan keselamatan dan kebolehgunaan tertentu, sekali gus memastikan aliran keizinan yang selamat untuk pelbagai senario aplikasi.

Percuma untuk bermula

Pelajari Java dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
12
Pelajaran
48

Soalan Lazim

Adakah pelajaran “Jenis Pemberian OAuth2 yang Biasa” percuma?

Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Keselamatan Spring dan Pengesahan JWT, termasuk “Jenis Pemberian OAuth2 yang Biasa”, boleh dibaca sepenuhnya secara percuma di web ini. Selepas itu, CoddyKit PRO membuka akses kepada semua pelajaran, serta latihan interaktif dengan penyunting kod terbina dalam dan tutor kecerdasan buatan yang tersedia 24/7. Kursus Keselamatan Spring dan Pengesahan JWT merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Jenis Pemberian OAuth2 yang Biasa”?

Terokai pelbagai jenis pemberian seperti Kod Kebenaran dan Kelayakan Klien, serta kes penggunaan yang sesuai untuk setiap satunya. Anda berlatih Keselamatan Spring dan Pengesahan JWT menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Keselamatan Spring dan Pengesahan JWT?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Keselamatan Spring dan Pengesahan JWT di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 3 daripada 4.

Berapa lamakah pelajaran “Jenis Pemberian OAuth2 yang Biasa” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Keselamatan Spring dan Pengesahan JWT ini?

Ya. Setiap pelajaran Keselamatan Spring dan Pengesahan JWT menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Gambaran Keseluruhan Protokol OAuth2
  2. Pengenalan kepada OpenID Connect
  3. Jenis Pemberian OAuth2 yang Biasa
  4. PKCE dan Melindungi Klien Awam
← Kembali ke Keselamatan Spring dan Pengesahan JWT