プロバイダーがホストするオンプレミスのテスト環境を作成しています。基本的にはマルチテナンシー(サービスの分割など)に備えたファームです。また、認証には ADFS を使用しています。
アプリ用のサイトを作成した後、テナントを作成しました。これを Tenant1 と呼び、次の手順を使用してアプリをインストールします。
1) appregnew.aspx を使用してアプリを登録しました 2) 次の PowerShell で証明書を登録しました
$certificate = Get-PfxCertificate $publicCertPath
New-SPTrustedRootAuthority -Name $authorityName -Certificate $certificate
$spweb = Get-SPWeb $targetTenantSite
$realm = Get-SPAuthenticationRealm -ServiceContext $spweb.Site
$fullIssuerIdentifier = $issuerId + '@' + $realm
New-SPTrustedSecurityTokenIssuer -Name $authorityName -Certificate $certificate -RegisteredIssuerName $fullIssuerIdentifier -IsTrustBroker
3) ClientID と IssuerID を web.config に追加しました。
すべてが正常に機能していたので、新しいテナントを追加しました。彼を Tenant2 と呼びましょう。Office365<->Azure 環境からわかっていることから、Tenant1 のアプリの登録中に生成されたデータと同じデータを使用して appregnew.aspx にアプリを登録する必要がありました (同じ発行者とクライアント ID を持つ 1 つのサイトを使用できるようにするため)。その後、powershell を再度使用して Tenant2 の証明書を登録しました。ただし、Tenant2 からアプリを実行しようとすると、401 Unauthorized 例外が発生します。Tenant1 の場合、アプリは完全に正常に動作しています。
私たちが見逃しているものはありますか?