LoginSignup
7
7

More than 1 year has passed since last update.

API GatewayとLambdaでWorkplaceのwebhook認証設定

Last updated at Posted at 2018-03-30

#事前準備
※webhookの認証を通すまでの資料です。
機能の開発は次回アップロードさせていただきます。

  • 左タグの [統合] ⇨ [カスタム統合] ⇨ [カスタムアプリを作成]からカスタムアプリを作成
    スクリーンショット 2018-03-30 午後17.45.57 午後.png

#AWS Lambdaの作成

  • 検索(lambda) ⇨ [関数の作成]
    スクリーンショット 2018-03-30 午後17.49.03 午後.png

  • [一から作成] ⇨ 名前:任意、ランタイム:python3.6、ロール:任意
    スクリーンショット 2018-03-30 午後20.13.58 午後.png

  • 下記コードを記入 ⇨ 保存

lambda_function.py
import os

# 自分で設定したトークンを認証
VERIFY_TOKEN = os.environ['VERIFY_TOKEN']

# hub.modeの値は常にsubscribe
# hub.verify_tokenは自分で設定した任意値
# hub.challengeは返す必要のある値 intである必要がある
def lambda_handler(event, context):
    if event.get("hub.mode") == "subscribe":
        if event.get("hub.verify_token") == VERIFY_TOKEN:
            return int(event.get("hub.challenge"))
        else:
            return None

if __name__ == '__main__':
    lambda_handler({}, None)

###環境変数の代入
VERIFY_TOKENに任意の値を代入
スクリーンショット 2018-03-30 午後19.43.29 午後.png

#API Gatewayの設定

  • 検索(api gateway) ⇨ [API作成]
    スクリーンショット 2018-03-30 午後18.29.17 午後.png

  • 名前:任意 ⇨ APIの作成
    スクリーンショット 2018-03-30 午後18.44.32 午後.png

  • アクション ⇨ メソッドの作成 ⇨ GET
    スクリーンショット 2018-03-30 午後18.48.31 午後.png

  • 統合タイプ:Lambda関数、リージョン:任意、Lambda関数:workplace_test ⇨ 保存
    スクリーンショット 2018-03-30 午後18.50.11 午後.png

メソッドリクエスト

メソッドリクエストをクリック
スクリーンショット 2018-03-30 午後18.57.00 午後.png

URLクエリ文字列パラメータに下記を追加

  • hub.challenge
  • hub.verify_token
  • hub.mode

スクリーンショット 2018-03-30 午後19.02.24 午後.png

統合リクエスト

統合リクエストをクリック
スクリーンショット 2018-03-30 午後19.06.39 午後.png

  • 本文マッピングテンプレート ⇨ 名前:任意 ⇨ コード入力 ⇨ 保存
application/json
{
  "hub.verify_token": "$input.params('hub.verify_token')",
  "hub.challenge": "$input.params('hub.challenge')",
  "hub.mode": "$input.params('hub.mode')"
}

###デプロイ

  • アクション ⇨ APIのデプロイ
    スクリーンショット 2018-03-30 午後19.24.35 午後.png

  • ステージ名:任意でデプロイ
    スクリーンショット 2018-03-30 午後19.24.58 午後.png

#カスタムアプリのwebhook登録

  • workplaceから事前に作成してあるカスタムアプリケーションのページにいき下記設定完了のち保存
    • コールバックURL:api gatewayでデプロイしたURL
    • トークン:自分が任意で設定した VERIFY_TOKEN
      スクリーンショット 2018-03-30 午後19.47.39 午後.png

完了.

機能の開発はそれぞれでやってくださいまし

#参考

7
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
7