検索

ホームページ  >  に質問  >  本文

Promise に基づいて Svelte アプリケーションを初期化する

<p>私は以前、認証と認可に Keycloak を使用する Vue アプリケーションをいくつか開発しました。 Vue アプリケーションの場合、Keycloak は、ユーザーが認証されたときにアプリケーションを初期化するだけで、認証されていないユーザーが Vue アプリケーションをロードできないようにするソリューションを提供します。 </p> <pre class="brush:js;toolbar:false;">keycloak.init({ onLoad: initOptions.onLoad }).then((auth) => { if (!auth) { window.location.reload(); } それ以外 { Vue.$log.info("認証済み"); newVue({ el: '#app', render: h => h(App, { props: { keycloak: keycloak } }) }) } ... </pre> <p>現在、私は Svelte プロジェクトに取り組んでおり、同じアプローチを適用したいと考えています。 Vue で Keycloak を使用して行う方法と同様に、Promise に基づいて Svelte アプリケーションを初期化する方法はありますか? </p> <p>解決策を探してみましたが、Svelte のこの問題に具体的に対処するものは見つかりませんでした。 </p> <p>私にとっての最大の利点は、ユーザーが認証されていることを常に 100% 確信でき、必要に応じてバックエンドに送信するための JWT トークンに常にアクセスできることです。 </p>
P粉872101673P粉872101673492日前574

全員に返信(1)返信します

  • P粉724256860

    P粉7242568602023-09-02 07:57:11

    Svelte を単独で使用する場合は、クライアント側コンポーネント API

    を使用できます。 リーリー

    SvelteKit アプリケーションでは、src/routes/layout.js:

    を使用してグローバル動作を追加できます。 リーリー リーリー

    data.keycloak が定義されていない場合、認証は失敗します。 これにより、コンテンツの条件付きレンダリングが可能になります。

    (コード例では keycloak がクライアント認証であると想定しています)

    返事
    0
  • キャンセル返事