0

AzureでAPIアプリケーション(主な目的はOffice 365グラフエンドポイントに連絡して電子メールを送信することです)を作成したいと考えていますが、フロントエンドのWebサイトではAzure ADを使用していませんユーザー認証は...しかし、私たちはバックエンドAPIはグラフAPI - ユーザー同意のあるデーモンアプリ

我々は探求しようとしている次の方法 1)任意のユーザ 2)サービスアカウントに代わって電子メールを送信すると、メールを送信するのに可能なメールを送るようにしたいです(オプション1)はadmin_consentを使って行うことができます。 - 誰かがこのようなアプリケーションを作成してデプロイするために必要な手順を手助けすることができますか?

さらに、user_consentを使用している間に、APIの実行中にログイン画面が表示されないでAPIアプリを作成する方法はありますか?

答えて

0

オプション1

任意のユーザーとして電子メールを送信するアプリ/デーモンのためには、は、任意のユーザアプリの許可としてメールを送信しておく必要があります。

Microsoft Graph APIの権限をアプリケーションに与え、ポータルの権限を許可するボタンをクリックするか、管理者の同意の流れを行って権限を与えます。

あなたのAPIはクライアントの認証情報で認証され、アクセストークンを取得して電子メールを送信できます。

このアプローチの悪い面は明白である必要があります。アプリはというユーザーにというメールを送信する権限を持ちます。あなたが代わりにAPIのためにアカウントを作成し、認証するために、リソースの所有者パスワードの助成金の流れを使用することができ

オプション2

。署名されたユーザーとして電子メールを送信するための委任されたアクセス許可を与えます。

悪い点は、認証の流れです。アカウントのパスワードが期限切れになった場合、そこからパスワードをリセットする方法はありません。問題を解決するために介入する必要があります。

同意

あなたは、ブラウザのUIなしの同意を通過することはできません。

+0

ありがとうございます**オプション#2は私の場合の選択ではありません、リソース所有者のパスワード許可フローは、私の開発マシンが私の会社のVPNに接続されている場合にのみ動作します。 azureこれは、仮想ネットワークが確立されていなければ動作しません.. **オプション#1 **は、私たちの組織の晴れたアクティブディレクトリ所有権を所有しているセキュリティチームとの私の議論に基づいて排除されます。 これは可能ですか? 管理者は、組織内で単一のユーザ(サービスアクト)としてメールを送信することをアプリに許可します 私のアプリはクライアントの資格情報を使用してそのアクトから電子メールを送信できます –

+1

アプリ専用のclient_credentials権限を "特定のアカウントで作業する場合は、現時点ではAFAIKはありませんが、Exchange APIを使用してアプリケーションAPIの実行を制限することは可能です。とにかく、これがあなたが探しているものなら、Uservoice https://officespdev.uservoiceで尋ねてください。com/forums/224641-feature-requests-and-feedback /カテゴリ/ 101632-microsoft-graph-o365-rest-apis –

+0

はい@ DanKershaw-MSFT、私は全く同じことをしようとしています。次のとおりです。 https://officespdev.uservoice.com/forums/224641-feature-requests-and-feedback/suggestions/19188046-app-only-client-credentials-permission-for-consent –

関連する問題