OAuth認証機能の紹介(ASTERIA Warp 2206)

ASTERIA Warp 2206のリリースに伴い、OAuth2.0認証機能が標準機能として実装されました。

これにより基本認証が廃止された接続先へのアクセスができるようになりました。
例えば、マイクロソフト社のExchange Online、Google社のGmailなどのメールサービスに対してもASTERIA Warpの基本機能を利用してメールの送受信やメールトリガー機能を利用することができます。

今回は、ASTERIA WarpでOAuth認証を利用してExchange OnlineとGmailへ接続するための設定手順をご紹介します。

 

■Exchange Onlineへの接続

事前準備

OAuth認証でExchange Onlineへ接続するにはAzure ADでアプリケーションを登録する必要があります。

【アプリケーションの作成】

下記の手順でアプリケーションを登録することができます。

  1. Azure ポータルで[Azure Active Directory]をクリックします。
  2. [概要]ブレードで[追加] > [アプリの登録]をクリックします。
  3. アプリケーションの登録画面でユーザーがアプリケーションへの許可を求められる際に表示されるアプリケーション名を入力します。
  4. [サポートされているアカウントの種類]では運用環境に合わせてアカウントの種類を選択します。
    ここでは、「この組織ディレクトリのみに含まれるアカウント」と設定します。
  5. リダイレクト URIは[Web]を選択し、値をユーザーがアプリケーションを認証した後にユーザーを返すアプリのページに設定してください。
    ここでは「http://localhost:33333」と設定します。
    ※ポート番号は運用環境で使われていない番号を設定してください。
    OAuth_ADNBlog_0010.png 
  6. [登録]をクリックし、表示されるアプリ情報からアプリケーション(クライアントID)の値をコピーして保存します。(コネクション作成時に「クライアントID」プロパティに設定します。)
    OAuth_ADNBlog_0015.png

【アプリケーションの設定】

OAuth クライアントクレデンシャルを取得してアプリが要求する権限を設定する方法は次のとおりです。

  1. [証明書とシークレット]ブレードをクリックし、[新しいクライアントシークレット]よりクライアントシークレットを生成します。有効期限は任意の期間を選択します。
  2. 生成したクライアントシークレットの値をコピーおよび保存します。
    (コネクション作成時に「クライアントシークレット」プロパティに設定します。)
    OAuth_ADNBlog_0020.png
    ※取得するのは「シークレットID」ではないことにご注意ください。
  3. [APIのアクセス許可]ブレードをクリックし、[アクセス許可の追加]をクリックします。
    APIアクセス許可の要求画面で[Microsoft Graph API]>[委任された許可]を選択し、アプリが求めるアクセス許可を選択します。
    OAuth_ADNBlog_0030.png
    ここでは以下の通りアクセス許可しました。 
    • offline_access
    • IMAP.AccessAsUser.All
    • POP.AccessAsUser.All
    • SMTP.Send
      ※APIのアクセス許可についてはお客様の運用環境に合わせて設定してください。

コネクション作成時の設定内容

Microsoft Exchange Onlineへ接続するためのコネクションは以下の内容で作成します。

【SMTP】

・[ホスト名] : smtp.office365.com
・[SMTP over SSLを使用] : はい
・[STARTTLSを使用] : はい
・[ポート番号] : 587
・[認証]:SMTP認証
・[SMTPユーザー名]:ユーザーアカウント
・[SMTPパスワード]:パスワード
・[認証方法]:OAuth

【POP3】

・[ホスト名] : outlook.office365.com
・[SMTP over SSLを使用] : はい
・[STARTTLSを使用] : いいえ
・[ポート番号] : 995
・[ユーザー名]:ユーザーアカウント
・[パスワード]:パスワード
・[認証]:OAuth

【IMAP4】

・[ホスト名] : outlook.office365.com
・[IMAP over SSLを使用] : はい
・[STARTTLSを使用] : いいえ
・[ポート番号] : 993
・[認証]:OAuth
・[ユーザー名]:ユーザーアカウント
・[パスワード]:パスワード

【OAuth認証設定】

・[コールバックURL] : http://localhost:33333
・[認可エンドポイント] : https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize
・[トークンエンドポイント] : https://login.microsoftonline.com/organizations/oauth2/v2.0/token
・[クライアントID] : Azure ADから取得したクライアントID
・[クライアントシークレット] : Azure ADから取得したクライアントシークレットの値
・[スコープ]
  - SMTP : offline_access https://outlook.office.com/SMTP.Send
  - POP3 : offline_access https://outlook.office.com/POP.AccessAsUser.All
  - IMAP4 : offline_access https://outlook.office.com/IMAP.AccessAsUser.All
・[認証の送信方法]
  - SMTP/IMAP4 : 1行で送信
  - POP3 : 2行で送信


■Gmailへの接続

事前準備

OAuth認証でGmailへ接続するにはGoogle Developer Consoleでプロジェクトを作成する必要があります。

【プロジェクトの作成】

下記の手順でプロジェクトを作成します。

  1. Google Developer Consoleへログインします。
  2. プロジェクト選択画面にで[新しいプロジェクト]をクリックし、プロジェクトを作成します。
    OAuth_ADNBlog_0210.png

  3. [APIとサービス]画面より[APIとサービスの有効化]をクリックし、Gmail APIを有効にします。
    OAuth_ADNBlog_0220.png
    OAuth_ADNBlog_0240.png

  4. [OAuth同意画面]より[作成]をクリックし、運用環境に合わせてOAuth同意画面アプリを作成します。[User Type]は運用環境に合わせて適切に設定します。
    OAuth_ADNBlog_0245.png

  5. [認証情報]画面より[認証情報作成]をクリックし、[OAuthクライアントID]を選択します。
    OAuth_ADNBlog_0250.png

  6. OAuthクライアントID作成画面では、アプリケーション種類、名前、承認済みのリダイレクトURIを設定します。ここでは以下の通り設定しています。
     ・アプリケーションの種類:ウェブアプリケーション
     ・名前:任意
     ・承認済みのリダイレクトURI:http://localhost:33333
      ※ポート番号は運用環境で使われていない番号を設定してください。
    OAuth_ADNBlog_0260.png

  7. OAuthクライアントを作成すると「クライアントID」と「クライアントシークレット」が表示されますのでコピーし保存しておきます。
    (コネクション作成時にそれぞれ「クライアントID」と「クライアントシークレット」プロパティに設定します。)
    OAuth_ADNBlog_0270.png

コネクション作成時の設定内容

Gmailへ接続するためのコネクションは以下の内容で作成します。

【SMTP】

・[ホスト名] : smtp.gmail.com
・[SMTP over SSLを使用] : はい
・[STARTTLSを使用] : いいえ
・[ポート番号] : 465
・[SMTPユーザー名]:ユーザーアカウント
・[SMTPパスワード]:パスワード
・[認証方法]:OAuth

【POP3】

・[ホスト名] : pop.gmail.com
・[SMTP over SSLを使用] : はい
・[STARTTLSを使用] : いいえ
・[ポート番号] : 995
・[ユーザー名]:ユーザーアカウント
・[パスワード]:パスワード
・[認証]:OAuth

【IMAP4】

・[ホスト名] : imap.gmail.com
・[IMAP over SSLを使用] : はい
・[STARTTLSを使用] : いいえ
・[ポート番号] : 993
・[認証]:OAuth
・[ユーザー名]:ユーザーアカウント
・[パスワード]:パスワード

【OAuth認証設定】

・[コールバックURL] : http://localhost:33333
・[認可エンドポイント] : https://accounts.google.com/o/oauth2/auth
・[トークンエンドポイント] : https://oauth2.googleapis.com/token
・[クライアントID] : Google Developer Consoleから取得したクライアントID
・[クライアントシークレット] : Google Developer Consoleから取得したクライアントシークレット
・[スコープ] : https://mail.google.com/
・[認証の送信方法]:1行で送信

 

■コネクションの作成と接続テスト

ここでは、上記のコネクションの設定方法を参考し、Exchange Onlineへ接続するIMAP4コネクションを作成し、接続テストを行ってみます。

  1. FSMC画面の[設定]→[コネクション]→[IMAP4]メニューから「新規」ボタンをクリックします。
    コネクション作成画面が表示されますので、項目を設定してコネクションを作成します。
    OAuth_ADNBlog_0040.png
    ※デザイナーからもコネクションの設定が可能です。

  2. コネクションの作成後、「テスト」ボタンをクリックするとブラウザが起動され、ログイン画面が表示されます。ユーザーアカウント情報を利用してログインします。
    OAuth_ADNBlog_0100.png

  3. リクエスト許可画面が表示されたら、「承諾」ボタンをクリックします。
    OAuth_ADNBlog_0110.png![

  4. 下記の画面が表示されると完了です。OAuth認証を行ったブラウザは閉じます。
    OAuth_ADNBlog_0120.png

  5. コネクションテスト画面では接続に成功したメッセージが表示されます。
    OAuth_ADNBlog_0049.png

■注意事項

ASTERIA Warp 2206でOAuth認証機能を利用したコネクションの作成、テストをされる場合には下記のような注意事項があります。

  • ASTERIA WarpサーバーをWindowsサービスで起動したり、Linux環境などGUIに対応していない環境で起動した場合はブラウザが起動できずタイムアウトになります。
  • OAuth認証時にブラウザはASTERIA Warpサーバー側で起動されます。
    別端末からコネクションテストを実行した際にはサーバー側のブラウザ起動状況を確認する必要があります。
  • ASTERIA Warpで設定したプロキシ設定は反映されません。OS側のプロキシ設定を利用する必要があります。

なお、ASTERIA Warp 2212ではOAuth認証時のブラウザがクライアント側で起動されるようになりました。そのため、ASTERIA Warp 2212ではASTERIA WarpサーバーをWindowsサービスで起動したり、LinuxなどGUIに対応していない環境で起動している場合でもOAuth認証をお使いいただけるようになりました。

 

以上となります。
GmailやSMTP、POP3など他のプロトコルを利用した接続についてもお試しください。

この記事は役に立ちましたか?
2人中1人がこの記事が役に立ったと言っています

他のキーワードで検索する