Mulakan aplikasi Svelte berdasarkan janji
P粉872101673
2023-09-01 09:35:33
<p>Saya sebelum ini telah membangunkan beberapa aplikasi Vue yang menggunakan Keycloak untuk pengesahan dan kebenaran. Untuk aplikasi Vue, Keycloak menyediakan penyelesaian untuk memastikan pengguna yang tidak disahkan tidak boleh memuatkan aplikasi Vue dengan hanya memulakan aplikasi apabila pengguna disahkan. </p>
<pre class="brush:js;toolbar:false;">keycloak.init({ onLoad: initOptions.onLoad }).then((auth) => {
jika (!auth) {
window.location.reload();
} lain {
Vue.$log.info("Disahkan");
newVue({
el: '#app',
render: h => h(Apl, { props: { keycloak: keycloak } })
})
}
...
</pra>
<p>Sekarang, saya sedang mengusahakan projek Svelte dan saya mahu menggunakan pendekatan yang sama. Adakah terdapat cara untuk memulakan aplikasi Svelte berdasarkan Janji, sama seperti cara ia dilakukan dalam Vue menggunakan Keycloak? </p>
<p>Saya telah cuba mencari penyelesaian tetapi saya tidak menemui apa-apa yang menangani isu ini secara khusus untuk Svelte. </p>
<p>Kelebihan terbesar kepada saya ialah anda sentiasa 100% pasti bahawa pengguna itu disahkan dan anda sentiasa mempunyai akses kepada token JWT untuk dihantar ke bahagian belakang apabila perlu. </p>
Apabila menggunakan Svelte sahaja, anda boleh menggunakan API komponen sisi pelanggan
Dalam apl SvelteKit, anda boleh menambah gelagat global menggunakan src/routes/+layout.js:
Pengesahan gagal apabila
data.keycloak
tidak ditentukan. Ini membenarkan pemaparan kandungan bersyarat.(contoh kod menganggap keycloak adalah pengesahan pelanggan)