Sitecoreでのフェデレーション認証の使用

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

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

これまで、SitecoreはASP.NETメンバーシップ を使用してユーザー資格情報を検証し、保存してきました。ASP.NET 5では、Microsoftは ASP.NET Identityと呼ばれる別の、より柔軟な検証メカニズムの提供を開始しました。

ASP.NET Identityは、Owinミドルウェア コンポーネントを使用して外部認証プロバイダーをサポートします。これらの外部プロバイダーは、Sitecore Experience Platform内でのフェデレーション認証を許可します。

Sitecore:

  • Owinミドルウェアを使用して、認証をサードパーティ プロバイダーに委任します。

  • サードパーティ プロバイダーからクレームを取得します。

フェデレーション認証はデフォルトで有効になっています。フェデレーション認証を無効にするには:

  • \App_Config\Include\Examples\ folderで、Sitecore.Owin.Authentication.Disabler.config.exampleの名前をSitecore.Owin.Authentication.Disabler.configに変更します。

Sitecoreフェデレーション認証は、Owinがサポートするプロバイダーで使用できます。このドキュメントのほとんどの例では、Microsoftのマルチテナント、クラウドベースのディレクトリ、ID管理サービスである Azure ADを使用することを前提としています。

Owin.Authenticationは、Facebook、Google、Twitterなど、他のさまざまなプロバイダーをサポートしています。

フェデレーション認証は、スケーリングされた環境で機能します。

フェデレーション認証はフロントエンド ログイン (コンテンツ配信サーバー上) に使用できますが、すべてのSitecore (バックエンド) 認証には常にSitecore Identityを使用することをお勧めします。

Sitecore 9.1.0以降はActive Directoryモジュールをサポートしていないため、代わりにフェデレーション認証を使用する必要があります。

Cookieとフェデレーション認証

Sitecoreを使用しない場合。Owin.Authenticationの場合、デフォルトの認証Cookie名は .ASPXAUTHです。これは、Web.configファイルで変更できます。

RequestResponse
<authentication mode="Forms">
    <forms name=".ASPXAUTH" cookieless="UseCookies" />
</authentication>

Sitecoreを使用している場合。ただし、Owin.Authenticationでは、.ASPXAUTH Cookieは使用されません。したがって、このCookieをコードから直接使用しないでください。

なぜなら、Sitecore.Owin.AuthenticationはMicrosoft BaseAuthenticationManagerクラスをオーバーライドし、その下のFormsAuthenticationProviderWindowsクラスを使用しないため、AuthenticationManagerクラスを使用するコードで .ASPXAUTH認証Cookieが欠落していることは問題ではありません。

Owin認証モードを使用する場合、Sitecoreはデフォルトで2つの認証Cookieを使用します。

  • .AspNet.Cookies –ログインしたユーザーの認証Cookie

  • .AspNet.Cookies.Preview – プレビュー モードのユーザー向けの認証Cookie

これらのCookieを使用すると、ユーザーはエクスペリエンス エディターのプレビュー モードで異なるユーザーとしてログインおよびログアウトし、Sitecoreページを異なるアクセス権を持つ別のユーザーとして表示できます。

Sitecoreコンストラクトの名前は、次のように構成されます。

  • ".AspNet." + AuthenticationType + AuthenticationSource.

    • AuthenticationTypeはデフォルトでCookiesされており、Owin.Authentication.DefaultAuthenticationType設定で変更できます。

    • デフォルトでは、AuthenticationSourceDefaultです。 Defaultされている場合、Cookieの名前には含まれません。このAuthenticationSourceでは、同じサイトに対して複数の認証Cookieを使用できます。

Owin Cookie認証ミドルウェアは、owin.initializeパイプラインで構成します。

仮想ユーザーと永続ユーザー

フェデレーション認証は、次の2種類のユーザーをサポートします。

  • 永続ユーザー – Sitecoreは、永続ユーザーに関する情報 (ログイン名、メール アドレスなど) をデータベースに保存し、デフォルトでメンバーシップ プロバイダーを使用します。

  • 仮想ユーザー – これらのユーザーに関する情報はセッションに保存され、セッションが終了すると消えます。

Sitecoreが外部ユーザーを表す永続ユーザーを作成する場合、ユーザーのパスワードを変更できるのは対応するIDプロバイダーのみであるという制限があります。

永続ユーザーの場合、変換後に取得されたロールは、Sitecoreロールとしてユーザー アカウントに追加されます。これらのロールを追加する前に、以前のすべてのロールがユーザーアカウントからクリアされます。これにより、外部ユーザーは自分のアカウントに一連のロールを割り当てることができ、ユーザーがSitecoreにログインするたびにプロセスが実行されます。

外部IDサーバーでユーザーを管理し、変換を使用してユーザーアカウントにロールを割り当てることをお勧めします。

何かフィードバックはありますか?

この記事を改善するための提案がある場合は、