.NET Core: Microsoft.Graph.Authの正式版予定

  • .NET CoreでMicrosoft Graphを操作するために、Microsoft Graph API SDK(“Microsoft.Graph”パッケージ)の使用を考えています。このパッケージでは認証機能(認証プロバイダ)は提供しておらず、別途認証用のパッケージを使用するか独自に実装する必要があります。
  • マイクロソフトのサンプルや資料を見ると、「Microsoft Graph .NET Authentication Provider Library(“Microsoft.Graph.Auth”パッケージ)」が紹介されているのですが、まだpreview版です。
  • プロダクト環境での使用を考えた場合、preview版は使えません。正式版がリリースされる予定が分かれば、まだ説明しやすいのですが…ということで調べてみました。
  • 結果として、“Microsoft.Graph.Auth”パッケージは”Azure.Identity”に統合していくので、正式リリース予定はないそうです。
    • “Azure.Identity”に統合していくので正式版の提供(General Available)の予定はない。
      Microsoft.Graph.Auth Release out of Preview #63

      We are not going to GA that library. That was our plan, but we have changed our plan to adopt the Azure.Identity library which fulfils an identical function. Moving to Azure.Identity will give developers a consistent experience between Graph SDKs and Azure SDKs.

    • 開発の効率化や品質向上のために、”Microsoft.Graph.Auth”は”Microsoft.Identity”に置き換える。
      Microsoft Graph community call-February 4, 2020動画の16:40辺り)

      Replace Microsoft.Graph.Auth with Azure.Identity
      • Consistent auth experience
      • Eliminate duplicate effort
      • Simpler model(fine grained token credential classes)
      • More supported scenarios(Managed Identity, “Default” credential)
      • Combined review will produce better quality
  • 参考: 代替策として考えられること。
    1. “Azure.Identity”に対応した版がリリースされるのを待つ。
    2. MSAL.NETを使用して独自に認証プロバイダを実装する。
      “Microsoft.Graph.Auth”ではMSAL.NETライブラリを使って実装しているので、それを参考に独自実装する。
      参考として、クライアント資格情報フローの実装サンプルを紹介します。