APIキー認証でセキュリティを強化しよう

SendgridでAPIが提供されてたので使ってみたメモ

API Key発行手順

  • Sendgridダッシュボードへログインする
  • 「Settings」を選択
  • 「API Keys」を選択
  • 右上の「Create API Key」を選択
  • 適当なKey名と権限設定をして作成
  • 完了画面に出てくるAPI Keyは、後ほどマスクがかかって確認出来なくなるので、この時点でメモる(←重要)

実装方法

公式からは、sendgridパッケージが提供されててこちらの利用を推奨との事ですが、Githubにあったサンプルがそのままでは動かなかったので、今回は時間の都合上、requestsで単純なPOSTを投げる方で実装しました。以下、その手順

1
2
$ python --version
Python 3.6.2
1
2
3
4
$ pip install requests

$ pip freeze | grep requests
requests==2.18.4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
$ vim send.py

import requests

APIKEY="[API Key]"

headers = {
"Authorization": "Bearer "+APIKEY
}
payload = {
"to": "to@example.com",
"from": "from@example.com",
"subject": "タイトル",
"html": "本文"
}

r = requests.post("https://api.sendgrid.com/api/mail.send.json", headers=headers, params=payload)
1
$ python send.py