公式のナゲットライブラリ(https://github.com/microsoftgraph/msgraph-sdk-dotnet)を使用してGraphAPIを使用しようとしています。しかし、認証プロセスは簡単ではなく、あまりよく文書化されていません。マシンツーマシンシナリオでMSALをCSPとして使用
私はマシンツーマシンのシナリオでCSPパートナーであるため、アクセスを許可するためにユーザーが手動で資格情報を入力するリダイレクトURLを持つUIアプリケーションはありません。しかし、それは私が見つけたサンプルでよく文書化されている、または利用可能な独自のシナリオであるようです...公式のCSPの文書でさえ、明確ではありません(https://developer.microsoft.com/en-us/graph/docs/concepts/auth_cloudsolutionprovider)。
MSOL、CrestAPI、AzureGraphなどのCSPとしてプロダクション(およびTIP環境)で多くのAPIを使用していたため、アプリケーションの設定や登録に問題はありません。
マシンツーマシンシナリオでMSALをCSPとして使用することはできますか。私のユースケースで利用可能なドキュメントやサンプルはありますか?
UPDATE
私は良いパス上だと思います。
まず、apps.dev.microsoft.comに自分のアプリを登録する必要がありました。私のアプリは以前はportal.azure.comに登録されていました。 AzureADとGraphのように、アプリケーションを登録する必要がある場所に関する要件が異なります。
第2に、私はここでサンプルを使用します:https://github.com/Azure-Samples/active-directory-dotnet-daemon-v2。
第3に、私はCSP TenantIdを提供するときにグラフAPIを呼び出すことができます。私は私が管理テナントの一つでTenantIdを使用してグラフAPIを呼び出すしようとすると、しかし、私が得た:
{ "error": {
"code": "Authorization_IdentityNotFound",
"message": "The identity of the calling application could not be established.",
"innerError": {
"request-id": "7cab3137-b3e7-4622-9123-e47f2c018c56",
"date": "2017-09-04T14:48:34"
} } }
(私は私のユースケースで同意ページを持つことができませんので、私は、同意を事前にしてみましたhttps://developer.microsoft.com/en-us/graph/docs/concepts/auth_cloudsolutionprovider)
Connect Sampleでアプリケーションを起動すると、認証のためにlogin.microsoftonline.comにリダイレクトされますが、これは問題ありません。 私のユースケースにはユーザーがまったく含まれていません。これはマシンを機械化するシナリオです。なぜなら、私がCSPパートナー(マイクロソフトの再販業者)であり、ウェブアプリケーションを通じて自分のユーザーを管理するテナントではないからです。 CSPパートナーとして管理している複数のテナントで夜間に実行されている同期ジョブを想像してみてください。 –
これは私に役立つと思う:https://github.com/Azure-Samples/active-directory-dotnet-daemon-v2 –
はい、デーモンのサンプルはエンドユーザーとのやりとりがなく、おそらくあなたの場合のより良い例です!私がリンクしているサンプルはユーザーの流れですが、MSALについてさらに詳しく説明しています。 –