MENU

Soracom

Users

API キーと API トークン

SORACOM API の呼び出しの際には API キーと API トークンが必要です。

パスワード認証を行い API キーと API トークンを発行する API と、パスワードリセットを行う API は例外的に不要です。

API キー

API キーは Operator を識別するためのユニークなキーです。API キーを元にアクセス制御が行われるため、他人に知られないよう秘密にしておく必要があります。

API トークン

API トークンは API による操作のセッションを識別するためのユニークなキーです。新たな API セッションを開始するときには、その都度取得する必要があります。

API トークンには有効期限があり、その有効期限を過ぎると使用できなくなります。既存の API セッションを継続するには、有効期限を超える前に、generateAuth トークン API を呼び出して API トークンを更新してください。一度 API トークンの有効期限が切れてしまった場合は、再び認証処理を行い、新しい API トークンを取得する必要があります。

API トークンの有効期間は、API トークンを取得する際に指定できます。有効期間はデフォルトでは 24 時間で、最短 3 分、最長で 48 時間まで指定できます。

有効期間を短く設定すると、万が一 API トークンが漏洩してしまった場合の被害を抑えることに役立ちますが、あまりにも短すぎると利便性が落ちてしまいます。システムの要件に応じて有効期間を選んでください。例えば、一度実行したら API を一つだけ呼び出して数秒で終了してしまうような CLI スクリプトであれば有効期間は数分程度で十分かもしれませんし、人間がインタラクティブに操作する GUI アプリケーションであれば無操作期間が 30 分〜1 時間程度続いたら有効期間が切れるようにするのがちょうど良いかもしれません。

API Key と API Token の取得方法

Auth:auth API を呼び出し、パスワード認証を行って API Key と API Token を取得します。ルートアカウントの場合と SAM ユーザー で方法が異なります。

ルートアカウント

ルートアカウントはログインに利用するメールアドレスとパスワードで認証します。

$ curl  -X POST \
      -H "Content-Type: application/json" \
      -d "{ \"email\": \"email@example.com\", \"password\": \"superStrongP@ssw0rd\" }" \
      https://api.soracom.io/v1/auth

# Response:
# 200 OK
#
# {
#   "apiKey": "API Key",
#   "token": "API Token",
#   "operatorId": "当該OperatorのID"
# }

SAM ユーザー

SAM ユーザーは SAM ユーザーを作成する で設定した認証キー ID と認証キーシークレットを使用して認証します。

$ curl  -X POST \
      -H "Content-Type: application/json" \
      -d "{\"authKeyId\": \"keyId-xxxxxxx\", \"authKey\": \"secret-xxxxxxx\"}" \
      https://api.soracom.io/v1/auth

# Response:
# 200 OK
#
# {
#   "apiKey": "API Key",
#   "token": "API Token",
#   "operatorId": "当該OperatorのID",
#   "userName": "SAMユーザー名"
# }