2018年9月5日に、SharePoint Framework 1.6が公開されました。v1.5.1からの変更点を紹介します。詳細についてはGitHubのWikiをご覧ください。
Web API機能がβ版から一般公開になった
Azure AD認証を利用するAPIへの接続クラスは、v1.5.1ではβ版扱いでしたが、v1.6で一般公開(GA)されました。GAに伴い、認可の部分に変更があったようです。AADで保護されたリソースへの接続は、AADアプリケーション登録(サービスプリンシパル)によって制御されるようになりました。
v1.5.1の頃には、隠しIFrameで対象サービスの画面を表示してアクセストークンを得る方法が公式サイトで紹介されており、実際にそのような実装をしていたのですが、本稿執筆時点ではSharePoint Framework側が明確にAAD認証を通す方法が推奨されています。
Azure Active Directory (Azure AD) でセキュリティ保護された API への接続 | Microsoft Docs
この変更に伴い、以下の注意点があります。
v1.5.1以前に登録したAADアプリケーションは再設定が必要
内部で利用するAADアプリケーション登録が変わったようなので再設定が必要とのこと。
MicrosoftGraphに接続するにはMSGraphClientクラスを利用する
v.1.5.1でも非推奨扱いでしたが、古いメソッドである「GraphHttpClient」クラスを利用してはいけません。このメソッドは2018年10月頃に削除されます。MSGraphClientの利用方法は公式サイトに記載があります。
MSGraphClient を使って Microsoft Graph に接続する | Microsoft Docs
って書いてあるからやってみたんですが、GraphHttpClientクラスを使うと「リリース前の機能だから本番環境では使えない」みたいなエラーが発生しました。なんじゃこりゃ。
AAD認証を利用するサードパーティのAPIに接続するにはAadHttpClientクラスを利用する
公式ページにやり方が載っています。
SharePoint Framework ソリューションでの Azure AD でセキュリティ保護された API への接続 | Microsoft Docs
但し以下API向けには別の簡単な方法があります。
- SharePoint REST API
SPHttpClientクラスを利用します。
SharePoint API への接続 | Microsoft Docs
- Microsoft Graph
前述の通りMSGraphClientクラスを利用します。
拡張機能がテナント単位で展開可能になった
今まではサイト単位で展開していましたが、テナント単位での展開が可能になりました。
SharePoint フレームワークの拡張機能のテナント ワイド展開 | Microsoft Docs
プロジェクト内のファイル構成が変更された
今後ビルドツールをシェイプアップしようとしているようで、手始めにtslintとtsコンパイラがビルドプロセスから除かれたようです。v1.5.1で作成されたプロジェクトをv1.6に対応させる場合、いくつかの変更が必要になりますのでご注意ください。
SharePoint Framework v1.6 release notes · SharePoint/sp-dev-docs Wiki · GitHub
以上、参考になれば幸いです。