アクセストークンの取得とスコープについて
CloudGearのAPIにリクエストを送信するには、事前にOpenID ConnectまたはOAuth 2.0 認証フローを使用してアクセストークンを取得する必要があります。
アクセストークンの取得方法は、以下の2種類になります。
Authorization Code によるアクセストークンの取得
Authorization Codeによるアクセストークンを取得するためには、サービスを利用しているユーザに認証を行っていただく必要があります。
認証に関する詳しいフローにつきましては、こちらをご覧ください。
Client Credentials によるアクセストークンの取得
Client Crendentialsによるアクセストークンを取得するためには、サービス認証の設定で作成した認証情報を使用する必要があります。
リクエスト
POST https://accounts.cloudgear.services/token
ヘッダー
キー | 値 |
---|---|
|
|
リクエストボディ
サンプルリクエスト
curl https://accounts.cloudgear.services/token \
-X POST \
-d "grant_type=client_credentials" \
-d "client_id=acb390f4-b284-4a62-a07e-5791317e4783" \
-d "client_secret=secret" \
-d "scope=api:service:report_usage" |
レスポンス
Content-Type: application/json
ステータスコード | メッセージ | 説明 |
---|---|---|
200 | access_token: <access_token> | 正常なレスポンスです。 |
400 | error: unsupported_grant_type
error_description: Unsupported grant type: <client_credentials> | grant_typeの設定値を間違えている場合のレスポンスです。 |
400 | error: invalid_client
error_description: Client with id <client_id> was not found | 指定されたクライアントIDが見つからない場合のレスポンスです。 |
サンプルレスポンス(正常)
{
"access_token": "<access_token>",
"token_type": "Bearer",
"expires_in": 3599,
"scope": "api"
} |
サンプルレスポンス(エラー)
{
"error": "invalid_client",
"error_description": "Client with id <client_id> was not found"
} |
スコープ
CloudGearのAPIにアクセスするには、APIごとに指定された追加の権限がアクセストークンに必要です。
以下のスコープをアクセストークン取得時のリクエストのscopeパラメータに指定することで、特定の権限が付与されたアクセストークンを取得できます。
ユーザ認証スコープ
ユーザー認証の際にスコープを付与するかを選択できる。
スコープ | 権限 |
---|---|
| ユーザーの認証情報を要求する。 |
| ユーザー情報へのアクセスを要求する。 |
| ユーザーのメールアドレスを要求する。 |
| リフレッシュトークンの返却を要求する。 |
| API経由でスクエアへの招待を行う。 |
| API経由でスクエアに所属しているユーザーの削除を行う。 |
| API経由でドメインユーザの取得を行う。 |
| API経由でドメインユーザの追加、更新、削除を行う。 ユーザ認証を行なったユーザの管理権限が「オーナー」または「管理者」である必要があります。 |
| API経由でドメインユーザの管理権限を編集する。 ユーザ認証を行なったユーザの管理権限が「オーナー」または「管理者」である必要があります。 |
| API経由でドメインの情報を取得する。 |
| API経由でドメインの情報を更新する。 ユーザ認証を行なったユーザの管理権限が「オーナー」または「管理者」である必要があります。 |
| API経由でドメインオーナーの移譲状態を取得する。 ユーザ認証を行なったユーザの管理権限が「オーナー」または「移譲先のユーザー」である必要があります。 |
| API経由でドメインオーナーの移譲リクエストを行う。 ユーザ認証を行なったユーザの管理権限が「オーナー」または「移譲先のユーザー」である必要があります。 |
| API経由でドメインに紐づくカード情報を取得する。 ユーザ認証を行なったユーザの管理権限が「オーナー」である必要があります。 |
| API経由でドメインに紐づくカードを追加、削除を行う。 ユーザ認証を行なったユーザの管理権限が「オーナー」である必要があります。 |
| API経由でアカウントに紐づくカード情報を取得する。 |
| API経由でドメインに紐づくカードを追加、削除を行う。 |
| API経由でユーザー情報の編集を行う。 |
| API経由で契約情報の取得を行う。 |
| API経由で契約の更新、削除を行う。 |
| API経由で契約内ユーザの取得を行う。 |
| API経由で契約内ユーザの権限を取得する。 |
| API経由で契約内ユーザの権限を更新する。 |
| API経由で契約中のサービスのプラン情報を取得する。 |
| API経由で契約に紐づく請求情報を取得する。 |
| API経由で契約者の移譲状態を取得する。 |
| API経由で契約者の移譲リクエストを行う。 |
| API経由で契約に紐づくカード情報の取得を行う。 |
| API経由で契約に紐づくカードの更新を行う。 |
| API経由で解約時の解約理由を作成する。 |
サービス認証スコープ
サービス認証の際に各スコープを付与するかを選択できます。grant_type
がclient_credentials
の場合のみ指定できます。
スコープ | 権限 |
---|---|
| API経由で使用量の報告を行う。 |
| API経由でStripeの公開鍵の取得を行う。 |
| API経由でCloudGearアカウントの作成と契約を行う。 サービスサインアップAPIの詳細は、こちら |