1. スピーク3

期限切れのセッションと未承認のHTTP要求

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

アプリケーションは、セッションの有効期限が切れたときにユーザーをログインページにリダイレクトする必要があります。SPEAK 3は、アプリケーション内のすべてのHTTPリクエストに対する401 Unauthorized Accessエラーを処理することでこれを行います。

シングル ページ アプリケーションのSitecoreルーティングおよびホスティング規則 を使用して、アプリケーション エントリ ポイントの認証を処理する必要があります。

承認処理フローは次のとおりです。

  1. クライアントはサーバーに要求を送信します。

  2. サーバーは、要求が認証されているかどうかを確認します。

    • trueの場合、サーバーは要求を続行します。

    • そうでない場合、サーバーはクライアントに401エラーを返します。

  3. クライアントは応答を処理します。

    • 認証された場合は、通常どおり進行します

    • 401エラーが返された場合は、ページが更新されます。サーバーは、ページ更新時にログインにリダイレクトします (そのエントリポイントが認証をチェックする場合)。

バックエンドのセットアップ

ASP.NET Web APIを使用してバックエンドAPIサービスを開発する場合は、Authorize属性を使用してサービスの認証を有効にします。MVCを使用して開発する場合は、MVCのセッションを正しく処理するため、代わりにSitecoreAuthorize属性を使用します。

すべてのHTTP要求の401エラー コードを処理する

AngularのSPEAK3.Integrationパッケージ (ng-sc) は、Angularアプリケーションの401エラーコードをチェックするためのアプリケーション全体のソリューションを提供します。

このモジュールをコードにインポートすると、公式のAngular HTTPクラスに自動的にパッチが適用され、すべての401エラーがキャッチされます。アプリケーションに401エラーが返されると、モジュールはページのリロードをトリガーします。その後、Sitecoreは、ページが更新されたときにユーザーをログイン ページにリダイレクトします。

import { SciAuthHttpModule } from '@speak/ng-sc/auth-http';
// add module in root app module
@NgModule({
 imports: [
   SciAuthHttpModule,
 ]
})

リクエストには、引き続き公式のHTTPモジュールを使用してください。コードの書き方に違いはありませんが、コードがすべての401リクエストを処理する点が異なります。アプリケーションは、404エラーなどの他のエラー コードを引き続き処理する必要があります。

この記事を改善するための提案がある場合は、 お知らせください!