SitecoreインスタンスとSitecore Identityサーバーを構成してください

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

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

SitecoreインスタンスでSitecore Identity(SI)サーバー認証を設定するには、以下の条件が必要です:

Sitecore Identity Serverコンポーネントの詳細については、「Sitecore Identity Structure」をご覧ください。

Sitecoreインスタンスの設定

Sitecoreインスタンスを設定するには、SIサーバー認証を使用するすべてのSitecoreインスタンスを以下で有効にしてください:

  • SIサーバーの絶対URL(OpenId Connect用語ではAuthority )。これは $(identityServerAuthority) 設定変数で設定します。デプロイメントプロセスで指定されます。

  • 登録されたクライアントのID。Sitecore SIサーバーにデフォルトクライアントを設定し、ID Sitecore。SitecoreはこのIDを

    FederatedAuthentication.IdentityServer.ClientId設定。

  • カスタムResource Owner Passwordフロー専用クライアントのID。Sitecore内部目的でカスタムResource Owner Passwordフローを使用します。 FederatedAuthentication.IdentityServer.ResourceOwnerClientId設定はこのクライアントのIDを指定します。デフォルト値はSitecorePasswordです。

Sitecoreは 、フェデレーテッド認証設定に従ってSIサーバーに接続します。

Sitecore Identityサーバーの設定

Sitecore Identityサーバーはすべてのクライアントの構成を含まなければなりません( Duende IdentityServerクライアントを参照)。

Sitecore Identityサーバーの設定:

  1. Sitecore IdentityサーバーのConfig\Sitecore.IdentityServer.Host.xmlファイルのSitecore:IdentityServer:Clients:PasswordClient:ClientSecrets: ClientSecret1設定でクライアントシークレットを設定してください。

    それはApp_Config\ConnectionStrings.configファイルのクライアントシークレットと同じでなければなりません。Sitecoreインスタンスのsitecoreidentity.secret接続文字列でなければなりません。

    Sitecore XPをインストールすると、クライアントシークレットはデフォルトでIdentity Server Sitecoreに設定されており、このステップは不要です。

  2. Sitecoreユーザーがサインインできるようにするには、Config\Sitecore.IdentityServer.Host.xmlファイルのSitecore:IdentityServer:SitecoreMembershipOptions

    Securityデータベースへの接続文字列を設定してください。

  3. ユーザーがパスワードを回復できるようにするには、Config\Sitecore.IdentityServer.Host.xmlファイルでSitecore:IdentityServer:AccountOptions: PasswordRecoveryUrl設定を設定してください。

    Sitecore XPをインストールすると、Sitecoreインスタンスへのリンクがデフォルトで使われるため、この手順は不要です。

  4. クライアントを設定するにはSitecore:IdentityServer

    、依存性注入を使うことができます。

    各クライアント設定ノードには、Duende.IdentityServer.Models.Clientクラスのプロパティにバインドされた複数のプロパティが含まれています。ほとんどの場合、クラスプロパティと設定プロパティの名前は一致します。あるいは、依存注入を使ってDuende IdentityServerの全オプションにアクセスすることもできます。

    !注Sitecore(Sitecore:IdentityServer:Clients

    )というあらかじめ定義されたクライアントが存在します。

  5. デフォルトのSitecoreクライアント宣言を再利用するには、許可されたRedirectUris、PostLogoutRedirectUris、AllowedCorsOriginsの各値を拡張して、アプリケーションに適した値を含めるようにしてください。

    {AllowedCorsOrigin}特殊トークンは、RedirectUrisリストやPostLogoutRedirectUrisリストで使うことができます。以下の例(Config\Sitecore.IdentityServer.Host.xmlファイルにあります):

    ... {AllowedCorsOrigin}/identity/signin {AllowedCorsOrigin}/signin-oidc {AllowedCorsOrigin}/identity/postexternallogout {AllowedCorsOrigin}/signout-callback-oidc ...
  6. URLのprotocol+domain+port部分をAllowedCorsOriginsセクションでのみ指定するには、{AllowedCorsOrigin}トークンを使用します。

    ... https://host1|http://host1 https://host2 https://host3 ...

    Sitecoreは、RedirectUri*ノード値とPostLogoutRedirectUri*ノード値を拡張し、AllowedCorsOriginsリストで指定されたすべての原点に対して許可される{AllowedCorsOrigin}トークンを適用します。

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