AEM Forms と Microsoft® Office 365 メールサーバープロトコルの統合 oauth2-support-for-the-microsoft-mail-server-protocols
組織が安全なメールの要件に準拠できるように、AEM Forms では、Microsoft® Office 365 メールサーバープロトコルとの統合のために OAuth 2.0 をサポートしています。Azure Active Directory(Azure AD)OAuth 2.0 認証サービスを使用して、IMAP、POP、SMTP などの様々なプロトコルと接続し、Office 365 ユーザーのメールデータにアクセスできます。OAuth 2.0 サービスを介して認証するように Microsoft® Office 365 メールサーバープロトコルを設定する手順を以下に示します。
-
https://portal.azure.com/ にログインし、検索バーで Azure Active Directory を検索して、結果をクリックします。
または、https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/Overview を直接参照することもできます。 -
追加/アプリの登録/新しい登録 をクリックします。
-
必要に応じて情報を入力し、「登録」をクリックします。
上記の場合、「任意の組織ディレクトリ(任意の Azure AD ディレクトリ - マルチテナント)内のアカウントおよび個人用の Microsoft® アカウント(Skype、Xbox など)」オプションが選択されています。note note NOTE - 任意の組織ディレクトリ(任意の Azure AD ディレクトリ - マルチテナント)内のアカウント の場合、個人用のメールアカウントではなく、職場アカウントを使用することをお勧めします。
- 個人用の Microsoft® アカウントのみ のアプリケーションはサポートされていません。
- マルチテナントおよび個人用の Microsoft® アカウント アプリケーションを使用することをお勧めします。
-
次に、証明書とシークレット に移動し、「新しいクライアントシークレット」をクリックし、画面上の手順に従ってシークレットを作成します。このシークレットは後で使用するので、必ずメモしてください。
-
権限を追加するには、新しく作成したアプリに移動し、API 権限/権限を追加/Microsoft® Graph/デリゲートされた権限 を選択します。
-
アプリの以下の権限のチェックボックスをオンにして、「権限を追加」をクリックします。
IMAP.AccessUser.All
Mail.Read
offline_access
POP.AccessAsUser.All
SMTP.Send
User.Read
-
認証/プラットフォームを追加/Web を選択し、「リダイレクト URL」セクションで、以下の URI(Universal Resource Identifier)のいずれかを次のように追加します。
https://login.microsoftonline.com/common/oauth2/nativeclient
http://localhost
この場合、
https://login.microsoftonline.com/common/oauth2/nativeclient
はリダイレクト URI として使用されます。 -
各 URL を追加した後で「設定」をクリックし、要件に従って設定を指定します。
note note NOTE 「アクセストークン」チェックボックスと「ID トークン」チェックボックスを選択する必要があります。 -
左側のパネルで「概要」をクリックし、後で使用するために、アプリケーション (クライアント) ID、ディレクトリ (テナント) ID および クライアントシークレット の値をコピーします。
認可コードの生成 generating-the-authorization-code
次に、以下の手順で説明する認可コードを生成する必要があります。
-
clientID
を<client_id>
に、redirect_uri
をアプリケーションのリダイレクト URI に置き換えた後で、次の URL をブラウザーで開きます。https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=[clientid]&scope=IMAP.AccessAsUser.All%20POP.AccessAsUser.All%20SMTP.Send%20User.Read%20Mail.Read%20offline_access&response_type=code&redirect_uri=[redirect_uri]&prompt=login
note note NOTE シングルテナントアプリケーションの場合は、認可コードを生成するために、次の URL の common
を[tenantid]
に置き換えます。https://login.microsoftonline.com/[tenantid]/oauth2/v2.0/authorize?client_id=[[clientid]]&scope=IMAP.AccessAsUser.All%20POP.AccessAsUser.All%20SMTP.Send%20User.Read%20Mail.Read%20openid%20offline_access&response_type=code&redirect_uri=[redirect_uri]&prompt=login
-
上記の URL を入力すると、ログイン画面にリダイレクトされます。
-
メールアドレスを入力し、「次へ」をクリックすると、アプリの権限画面が表示されます。
-
権限を許可すると、
https://login.microsoftonline.com/common/oauth2/nativeclient?code=<code>&session_state=[session_id]
のような新しい URL にリダイレクトされます。 -
上記 URL の
<code>
の値を上記 URL の0.ASY...
から&session_state
にコピーします。
更新トークンの生成 generating-the-refresh-token
次に、次の手順で説明する更新トークンを生成する必要があります。
-
コマンドプロンプトを開き、次の cURL コマンドを使用して refreshToken を取得します。
-
clientID
、client_secret
およびredirect_uri
をアプリケーションの値と<code>
の値に置き換えます。curl -H "ContentType application/x-www-form-urlencoded" -d "client_id=[client-id]&scope=https%3A%2F%2Foutlook.office.com%2FIMAP.AccessAsUser.All%20https%3A%2F%2Foutlook.office.com%2FPOP.AccessAsUser.All%20https%3A%2F%2Foutlook.office.com%2FSMTP.Send%20https%3A%2F%2Foutlook.office.com%2FUser.Read%20https%3A%2F%2Foutlook.office.com%2FMail.Read%20offline_access&code=[code]&grant_type=authorization_code&redirect_uri=[redirect_uri]&client_secret=[secretkey_value]" -X POST https://login.microsoftonline.com/common/oauth2/v2.0/token
note note NOTE シングルテナントアプリケーションで更新トークンを生成するには、次の cURL コマンドを使用して common
を[tenantid]
に置き換えます。curl -H "ContentType application/x-www-form-urlencoded" -d "client_id=[client-id]&scope=https%3A%2F%2Foutlook.office.com%2FIMAP.AccessAsUser.All%20https%3A%2F%2Foutlook.office.com%2FPOP.AccessAsUser.All%20https%3A%2F%2Foutlook.office.com%2FSMTP.Send%20https%3A%2F%2Foutlook.office.com%2FUser.Read%20https%3A%2F%2Foutlook.office.com%2FMail.Read%20offline_access&code=[code]&grant_type=authorization_code&redirect_uri=[redirect_uri]&client_secret=[secretkey_value]" -X POST https://login.microsoftonline.com/[tenantid]/oauth2/v2.0/token
-
更新トークンをメモしておきます。
OAuth 2.0 をサポートするメールサービスの設定 configureemailservice
次に、管理 UI にログインして、最新の JEE サーバーでメールサービスを設定します。
-
ホーム/サービス/アプリケーションとサービス/サービス管理/メールサービス に移動すると、基本認証用に設定された メールサービス設定 ウィンドウが表示されます。
note note NOTE OAuth 2.0 認証サービスを有効にするには、「SMTP サーバーが認証を必要とするかどうか (SMTP 認証)」チェックボックスをオンにする必要があります。 -
「OAuth 2.0 認証設定」を
True
に設定します。 -
クライアント ID と クライアントシークレット の値を Azure Portal からコピーします。
-
生成された 更新トークン の値をコピーします。
-
Workbench にログインし、アクティビティピッカー から Email 1.0 を検索します。
-
Email 1.0 では、次の 3 つのオプションを使用できます。
- ドキュメントと共に送信:1 つの添付ファイルを含むメールを送信します。
- 添付ファイルのマップと共に送信:複数の添付ファイルを含むメールを送信します。
- 受信:IMAP からメールを受信します。
note note NOTE - Transport Security プロトコルの有効な値は、「blank」、「SSL」または「TLS」です。oAuth 認証サービスを有効にするために、SMTP Transport Security と Receive Transport Security の値を TLS に設定します。
- メールエンドポイントを使用している場合、POP3 プロトコル は OAuth でサポートされていません。
-
「ドキュメントと共に送信」を選択してアプリケーションをテストします。
-
TO および From アドレスを提供します。
-
アプリケーションを呼び出し、OAuth 2.0 認証を使用してメールを送信します。
note note NOTE 必要に応じて、Workbench で特定のプロセスの Auth 2.0 認証設定を基本認証に変更できます。それには、「接続設定」タブの「グローバル設定を使用」で「OAuth 2.0 認証」の値を「False」に設定します。
OAuth タスク通知を有効にする手順は次のとおりです。 enable_oauth_task
-
ホーム/サービス/フォームワークフロー/サーバー設定/メール設定 に移動します。
-
OAuth タスクの通知を有効にするには、「OAuth を有効にする」チェックボックスを選択します。
-
Azure Portal から クライアント ID および クライアント秘密鍵 の値をコピーします。
-
生成された 更新トークン の値をコピーします。
-
「保存」をクリックして、詳細を保存します。
note note NOTE タスク通知に関して詳しくは、 ここをクリックします。
メールのエンドポイントを設定する手順は次のとおりです。 configure_email_endpoint
-
ホーム/サービス/アプリケーションとサービス/エンドポイント管理 に移動します。
-
メールエンドポイントを設定するには、oAuth 2.0 認証設定 を
True
に設定します。 -
Azure Portal から クライアント ID および クライアント秘密鍵 の値をコピーします。
-
生成された 更新トークン の値をコピーします。
-
「保存」をクリックして、詳細を保存します。
note note NOTE メールエンドポイントの設定に関する詳細は、メールエンドポイントの設定をクリックします。
トラブルシューティング troubleshooting
-
メールサービスが正しく動作していない場合は、上記の説明に従って
Refresh Token
を再生成します。新しい値がデプロイされるまで数分かかります。 -
Workbench を使用してメールエンドポイントでメールサーバーの詳細を設定する際にエラーが発生した場合は、Workbench の代わりに管理 UI を使用してエンドポイントを設定してみます。