認証

認証tokenを作成するエンドポイント以外の全てのAPIのエンドポイントは認証システムの裏で保護されています。

Tokenの作成

https://customdomain.com/api/oauth/token

  • Method: POST
  • Body: grant_type=client_credentials
  • Headers:
    • Authorization: Basic base64Encoded(clientId:clientSecret)
    • Content-Type: application/x-www-form-urlencoded

OAuthスペックをclient_credentials承認タイプで実行する事ができます。(詳細はspecificationをご確認ください。)

APIへのアクセスをリクエストする上で、client_idclient_secretを受け取ります。これらはアクセスtokenを作成するために使用されます。これらの証明書はAuthorization ヘッダーに含まれ、Basictypeを使用し、連結され、base64でエンコードされています。またhttps://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Authorization#Directivesに指定されています。

例えば、client_id = "CLIENT_ID"client_secret = "CLIENT_SECRET"では、文字列の結果がbase64Encode("CLIENT_ID:CLIENT_SECRET") = "Q0xJRU5UX0lEOkNMSUVOVF9TRUNSRVQ"となります。

結果として出たtokenは1時間で失効し、その後は新しいtokenの作成が必要になります。expires_inの属性は秒単位です。

リクエストの例

POST /api/oauth/token HTTP/1.1
Host: customdomain.com
Authorization: Basic Q0xJRU5UX0lEOkNMSUVOVF9TRUNSRVQ
Content-Type: application/x-www-form-urlencoded

grant_type=client_credentials

レスポンス

{
  "access_token": "2YotnFZFEjr1zCsicMWpAA",
  "token_type": "Bearer",
  "expires_in": 3600
}

エラー

このエンドポイントとして可能性のあるエラーコードは以下にリストアップされています。 https://tools.ietf.org/html/rfc6749#section-5.2

認証リクエスト

アクセスtokenを無事作成されたら、それらはAPIリクエスト認証のためにBearertypeを使い、Authorizationヘッダーに含まれます。