認証
認証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_id
とclient_secret
を受け取ります。これらはアクセスtokenを作成するために使用されます。これらの証明書はAuthorization
ヘッダーに含まれ、Basic
typeを使用し、連結され、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リクエスト認証のためにBearer
typeを使い、Authorization
ヘッダーに含まれます。