Azure AD B2CをPHPと使う (5) SharePointリストに接続するには・・

Azure AD B2C は、SharePoint 外部パートナー共有のシナリオには適していません。

これは、FAQに書いてある内容なのですが、すなわち、Azure AD B2Cによる承認フローを用いて、Azure AD B2Cをホストしている組織のSharePointへの承認は得られないことを指します。

そこで、サーバーを経由して解決します。

前記事に書いた内容は、実はこのことが念頭にあったためです。

 

noopable.hatenablog.jp

 

具体的には、SPA上でAzure AD B2Cで認証し、Webサーバー等にリクエストを送り、そこでAzure AD B2Cの承認内容を確認して、SharePointサーバーに対する適切な権限を解釈して、Graph APIで処理を行うという流れになります。

サーバーで動作させるのは、無論、PHPである必要はありません。

 

以上、現場からお伝えしました。

 

雑感

SharePointはAzure ADで管理する、といいますか、Azureの中の人に聞いた話では、Azure ADは、AzureチームではなくてOffice365チームが管理しているという密接な関係にあります。

であれば、Azure AD B2CでSharePointに接続できてもよいよね?というのが自然な流れかと思います。

この違いについては、こちらの記事がよくまとまっているので参照しておきます。

 

jpazureid.github.io

この中で、

もし、あなたが自社組織の ID を管理しようとしており、その管理のための機能が必要な場合、Azure AD B2C は適切なソリューションではない可能性があります。つまり、求める機能は Azure AD B2C では実現できない、あるいは自身で細かい実装が必要になる可能性がありますのでご注意ください。

 これがまさに今回のケースですね。