Slack

Slack App で Event Subscriptions を使うための認証の仕方

まず指定したURLが404だったり、間違ったレスポンスの場合、以下の画像のようにエラーが表示されます。

認証前

これは「俺たちが送ったchallenge値をそのまま返してくれよな!」というような意味です。つまり、{challenge: string}の形で返します。

通すサーバーを建てる Express

以下のようなサーバーを建てて、エンドポイントに slack-event.now.sh/event のようなURLを指定した後再度認証すると通ります。

const express = require('express');
const bodyParser = require('body-parser');

app.post(
  '/event',
  bodyParser.json(),
  (req, res) => {
    res.json({challenge: req.body.challenge});
  }
)

app.listen();

認証完了

開発中はサーバーを、localtunnelngrokなどで一時的に晒したり、nowに上げたりすると楽です。