Sitecoreでのフェデレーテッド認証の利用

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

このページの翻訳は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に改名します。

OwinがサポートするプロバイダーでSitecoreの連邦認証を利用できます。私たちのドキュメントのほとんどの例は、Microsoftのマルチテナント・クラウドベースのディレクトリおよびアイデンティティ管理サービスであるAzure ADを使用していることを前提としています。

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

フェデレード認証はスケールされた環境で機能します。

フロントエンドログイン(コンテンツ配信サーバー上)にはFederated Authenticationを利用できますし、すべてのSitecore(バックエンド)認証には必ずSitecore Identityを使用することを推奨します。

Sitecore 9.1.0以降はActive Directoryモジュールをサポートしていないので、代わりにフェデレーテッド認証を使うべきです。

クッキーと連邦認証

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

もしあなたがSitecoreを使うならOwin。認証に関しては、.ASPXAUTHクッキーは使用されません。したがって、このクッキーをコードから直接使用してはいけません。

なぜならSitecore。Owin.AuthenticationはBaseAuthenticationManagerクラスを上書きし、下にあるFormsAuthenticationProviderクラスを使いません。AuthenticationManagerクラスを使うコードに対して.ASPXAUTH認証クッキーが欠けていることは問題ありません。

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

  • .AspNet.Cookies – ログインユーザー向けの認証クッキー
  • .AspNet.Cookies.Preview – プレビューモードユーザー向けの認証クッキー

これらのクッキーにより、ユーザーはエクスペリエンスエディタープレビューモードで異なるユーザーとしてログイン・ログアウトでき、異なるアクセス権を持つ異なるユーザーとしてSitecoreページを閲覧できます。

Sitecoreの構成文の名前は以下の通りです:

  • ".AspNet." + AuthenticationType + AuthenticationSource.
    • AuthenticationTypeはデフォルトでCookiesされており、Owin.Authentication.DefaultAuthenticationType設定で変更できます。
    • AuthenticationSourceはデフォルトでDefaultされています。Default時にはクッキー名には含まれていません。AuthenticationSourceは同じサイトに対して複数の認証クッキーを持たせることを可能にします。

Owinクッキー認証ミドルウェアはowin.initializeパイプラインで設定します。

仮想ユーザーおよび永続ユーザー

フェデレーテッド認証は2種類のユーザーをサポートしています:

  • 永続ユーザー – Sitecoreは永続ユーザー(ログイン名、メールアドレスなど)に関する情報をデータベースに保存し、デフォルトでメンバーシッププロバイダーを使用します。
  • バーチャルユーザー – これらのユーザーに関する情報はセッション内に保存され、セッション終了後に消えます。

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

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

外部アイデンティティサーバー上でユーザー管理を行い、トランスフォーメーションを使ってユーザーアカウントにロールを割り当てることを推奨します。

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