Persediaan Klien OAuth2
Konfigurasikan aplikasi anda untuk bertindak sebagai klien OAuth2 dengan mentakrifkan butiran pendaftaran bagi pelbagai penyedia.
Persediaan Klien OAuth2 ialah pelajaran Keselamatan Spring dan Pengesahan JWT percuma di CoddyKit. Ini ialah pelajaran 1 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 Klien OAuth2?
Dalam OAuth2, Klien OAuth2 ialah aplikasi yang ingin mengakses sumber bagi pihak pengguna daripada Pelayan Sumber. Anggaplah ia sebagai aplikasi anda yang meminta kebenaran untuk menggunakan perkhidmatan lain (seperti Google atau GitHub) bagi pihak anda.
Ia bukan pengguna, sebaliknya aplikasi yang bertindak bagi pihak pengguna.
Mengapa Mengkonfigurasi Aplikasi Kita?
Untuk menggunakan API perkhidmatan luaran (contohnya, mendapatkan profil pengguna atau menyiarkan kemas kini), aplikasi anda perlu dikenali oleh perkhidmatan tersebut. Proses pengenalan ini dipanggil pendaftaran klien.
- Aplikasi anda mendapat identiti unik.
- Perkhidmatan itu mengetahui pihak yang meminta akses.
- Hal ini membolehkan komunikasi dan keizinan yang selamat.
Butiran Utama Pendaftaran Klien
Apabila anda mendaftarkan aplikasi dengan Pelayan Keizinan OAuth2 (perkhidmatan yang memberikan akses), biasanya anda akan memberikan dan menerima:
- ID Klien: Pengenal awam untuk aplikasi anda.
- Rahsia Klien: Kunci sulit yang digunakan untuk mengesahkan aplikasi anda.
- URI Pengubahan Hala: Lokasi Pelayan Keizinan menghantar pengguna kembali selepas keizinan diberikan.
Spring Security sebagai Klien OAuth2
Spring Security memudahkan konfigurasi aplikasi Spring Boot anda untuk bertindak sebagai Klien OAuth2. Ia mengendalikan sebahagian besar aliran OAuth2 yang rumit secara automatik.
Anda hanya perlu memberikan butiran pendaftaran yang diperlukan untuk perkhidmatan luaran yang ingin anda sambungkan.
Fail Konfigurasi Klien
Konfigurasi klien OAuth2 Spring Security terutamanya terletak dalam fail application.yml atau application.properties anda.
Anda akan menggunakan dua awalan utama:
spring.security.oauth2.client.registration: Menentukan butiran pendaftaran aplikasi anda dengan penyedia tertentu.spring.security.oauth2.client.provider: Menentukan butiran tentang penyedia OAuth2 itu sendiri (contohnya, titik akhir keizinannya).
Menyediakan Penyedia
Di bawah spring.security.oauth2.client.provider.[provider-name], anda menentukan titik akhir perkhidmatan OAuth2 luaran. Contohnya, untuk penyedia bernama github:
authorization-uri: Lokasi pengguna pergi untuk memberikan keizinan kepada aplikasi anda.token-uri: Lokasi aplikasi anda menukar kod kepada token.user-info-uri: Lokasi aplikasi anda mendapatkan butiran pengguna.
Selalunya, Spring Boot boleh mengkonfigurasi perkara ini secara automatik untuk penyedia popular jika anda hanya memberikan client-id dan client-secret.
Mendaftarkan Aplikasi Klien Anda
Di bawah spring.security.oauth2.client.registration.[registration-id], anda menentukan butiran pendaftaran unik aplikasi anda untuk penyedia tertentu. registration-id bertindak sebagai nama unik untuk konfigurasi klien khusus anda.
provider: Memaut kepada penyedia yang telah ditentukan (contohnya,github).client-id: ID awam aplikasi anda.client-secret: Kunci rahsia aplikasi anda.redirect-uri: URL panggil balik.scope: Keizinan yang diminta oleh aplikasi anda (contohnya,read:user).authorization-grant-type: Aliran OAuth2 yang digunakan (contohnya,authorization_code).
Contoh: Persediaan Klien GitHub
Mari lihat contoh konkrit menggunakan GitHub. Mula-mula, anda perlu mendaftarkan aplikasi pada tetapan pembangun GitHub untuk mendapatkan ID Klien dan Rahsia Klien.
Kemudian, konfigurasikan application.yml anda:
spring:
security:
oauth2:
client:
registration:
github:
client-id: your-github-client-id
client-secret: your-github-client-secret
redirect-uri: "{baseUrl}/login/oauth2/code/{registrationId}"
scope: read:user,user:email
provider:
github:
authorization-uri: https://github.com/login/oauth/authorize
token-uri: https://github.com/login/oauth/access_token
user-info-uri: https://api.github.com/userAplikasi Spring Boot Minimum
Untuk mendayakan fungsi klien OAuth2, pastikan anda mempunyai kebergantungan spring-boot-starter-oauth2-client. Spring Boot akan mengesan konfigurasi secara automatik dan menyediakan penapis yang diperlukan.
Berikut ialah titik masuk aplikasi Spring Boot asas:
package com.coddykit;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.security.Principal;
@SpringBootApplication
@RestController
public class Oauth2ClientApp {
public static void main(String[] args) {
SpringApplication.run(Oauth2ClientApp.class, args);
}
@GetMapping("/")
public String welcome(Principal principal) {
if (principal != null) {
return "Hello, " + principal.getName() + "! You are logged in with OAuth2.";
}
return "Hello! Please log in with OAuth2.";
}
}Aliran OAuth2 Automatik
Selepas dikonfigurasikan, Spring Security secara automatik:
- Mengubah hala pengguna yang belum disahkan ke halaman log masuk Pelayan Keizinan yang dikonfigurasikan.
- Mengendalikan pertukaran kod keizinan selepas pengguna memberikan kebenaran.
- Mendapatkan butiran pengguna daripada
user-info-uri. - Mengisi
SecurityContextdengan pengguna yang telah disahkan.
Hal ini sangat memudahkan pelaksanaan logik klien OAuth2.
Semakan Pantas: Konfigurasi Klien
Anda sedang menyediakan aplikasi Spring Boot untuk bertindak sebagai klien OAuth2 bagi perkhidmatan luaran. Antara sifat berikut, yang manakah digunakan terutamanya untuk mengenal pasti aplikasi anda kepada perkhidmatan luaran dan perlu dirahsiakan?
Imbas Kembali: Persediaan Klien OAuth2
Anda telah mempelajari cara mengkonfigurasi aplikasi Spring Boot sebagai Klien OAuth2. Kita telah membincangkan:
- Peranan Klien OAuth2.
- Sifat konfigurasi utama seperti
client-iddanclient-secret. - Cara menggunakan
application.ymluntuk pendaftaran klien dan penyedia. - Pengendalian automatik aliran OAuth2 oleh Spring Security.
Seterusnya, kita akan meneliti dengan lebih terperinci cara mengintegrasikan penyedia log masuk sosial tertentu seperti Google dan GitHub!
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 “Persediaan Klien OAuth2” percuma?
Ya — sebanyak 3 pelajaran dalam laluan pembelajaran Keselamatan Spring dan Pengesahan JWT, termasuk “Persediaan Klien OAuth2”, 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 “Persediaan Klien OAuth2”?
Konfigurasikan aplikasi anda untuk bertindak sebagai klien OAuth2 dengan mentakrifkan butiran pendaftaran bagi pelbagai penyedia. 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 1 daripada 4.
Berapa lamakah pelajaran “Persediaan Klien OAuth2” 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
- Persediaan Klien OAuth2
- Integrasi Log Masuk Sosial
- Pengendali Kejayaan OAuth2 Tersuai
- Mengakses Pengguna OAuth2 yang Disahkan