Saya telah mencipta Pelayan Kebenaran Musim Bunga - anda boleh mencari kod di github https://github.com/costerutilo/UTILO-Authorization-Server
Saya tidak boleh membaca token melalui JavaScript. Saya mencipta aplikasi web Vue mudah untuk mendapatkan kod kebenaran pelanggan, tetapi saya tidak boleh mendapatkan token.
Cuba gunakan API pengambilan:
const url = 'http://127.0.0.1:9000/oauth2/token'; var kelayakan = btoa(import.meta.env.VITE_CLIENT_ID + ':' + 'rahsia'); var basicAuth = 'Asas' + bukti kelayakan; var myHeaders = new Headers(); //myHeaders.append("Kebenaran", "Asas dXRpbG8tY2xpZW50OnNlY3JldA=="); myHeaders.append("Kebenaran", basicAuth); myHeaders.append("Content-Type", "application/x-www-form-urlencoded"); var urlencoded = URLSearchParams baharu(); urlencoded.append("jenis_pemberian", "kod_kebenaran"); // urlencoded.append("code", "yyJTTI3JqNno1XlSW59qxX3CCytMm-ChoHnqVw3iSUGyT6ltT_tpPclQ8bdSyeApO4IWE442irBiRwntJJzae9BIntpCj3hnb hTqavqsy"); urlencoded.append("kod", kod); urlencoded.append("redirect_uri", "https://www.utilo.eu"); var requestOptions = { kaedah: 'POST', tajuk: myHeaders, badan: urlencoded, ubah hala: 'ikuti' }; fetch(url, requestOptions) .then(respon => response.text()) .then(hasil => console.log(hasil)) .catch(error => console.log('error', error));
Dalam konsol javascript penyemak imbas, saya melihat pengecualian CORS
Akses untuk diambil di 'http://127.0.0.1:9000/oauth2/token' daripada asal 'http://127.0.0.1:9010' mempunyai telah disekat oleh dasar CORS: Respons kepada permintaan prapenerbangan tidak lulus semakan kawalan aksesKonsol pelayan memberikan ralat:
2023-02-27T09:35:53.786+01:00 TRACE 33212 --- [nio-9000-exec-3] o.s.s.w.a.ExceptionTranslationFilter : Menghantar AnonymousAuthentic Principal=anonymousUser, Credentials=[PROTECTED], Authenticated=true, Details=WebAuthenticationDetails [RemoteIpAddress=127.0.0.1, SessionId=null], Granted Authorities=[ROLE_ANONYMOUS]] ke titik masuk pengesahan pengesahan kerana akses dinyahdayakan org.springframework.security.access.AccessDeniedException: Akses DitolakJika saya mencuba permintaan yang sama dalam Posmen, saya mendapat JSON dengan token.
Saya tidak tahu apakah kesilapan penaakulan saya atau kesalahan yang saya lakukan.
Anda memerlukanuntuk mendayakan CORSuntuk rantai penapis Spring Security anda
Nota:@Bean
dan menyediakanseperticontoh ini p>:4200
Port adalah untuk persekitaran pembangunan Sudut, gantikannya dengan port pelayan pembangunan Vue anda.