呼び出し例
認証方式: client_secret_basic
リクエストメソッド: POST
ヘッダーパラメーター
パラメーター | タイプ | 説明 | 例 |
Authorization | 文字列 | Basic Base64(clientId:clientSecret) Base64 エンコードされたクライアント ID とクライアントシークレット。 | YXBwX201ZG9vemVzbm81Mmtxxxxxxxxx |
Content-Type | 文字列 | コンテンツタイプ。 値を application/x-www-form-urlencoded に設定します。 | application/x-www-form-urlencoded |
リクエストパラメーター
パラメーター | タイプ | 説明 | 例 |
grant_type | 文字列 | 権限タイプ。 値を client_credentials に設定します。 | client_credentials |
scope | 文字列 | リクエストされた権限の範囲。 値は resourceServerIdentifier+"|"+scope の形式です。 たとえば、resourceServerIdentifier が http://www.example.com で、scope が read:file の場合、 返される結果は http://www.example.com|read:file です。 リソースサーバー識別子パラメーターを使用して、すべての承認済みスコープを取得できます。 | http://aliyun.com|read:file |
client_id | 文字列 | アプリケーション ID。 |
リクエスト例
curl --location --request POST 'https://XXXX.aliyunidaas.com/api/v2/iauths_system/oauth2/token'
--header 'Authorization:xxxxxxx
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'grant_type=client_credentials'
--data-urlencode 'scope=http://www.example.com|read:file'
レスポンスパラメーター
パラメーター | タイプ | Null 許容 | 説明 |
access_token | 文字列 | いいえ | アクセストークンの値。 |
expires_in | Long | いいえ | トークンの有効期間。 単位: 秒。 |
expires_at | Long | いいえ | トークンの有効期限が切れる時刻。 値は UNIX タイムスタンプです。 単位: 秒。 |
token_type | 文字列 | いいえ | トークンのタイプ。 |
レスポンス例
{
"token_type": "Bearer",
"access_token": "AT8csE2sepE4TT9j45xFgRGhEDyS3ovfZDF68Ac4aaQ7c4dBpUahD1cYSCFQbsfpM9ysSArv1pTszcGTZEJK11yGA62GKWd4cf33ZVGsgPfLwYDPX2ZRCUpThTaWoxtXCs9zeZzGwxjc5xtasaQMeuE8PuGeHg9SyMzKxJQVv9ubQhoFXjQkoPUotUms4R2M9SBLpWSCaGDf3oiJ5WCuGyMzJdrrdQeLSB7dU9P1iKbjxGWCmwaMLMkUWZBKsAeYi3xjJmpMsuLq3811KAV5bttwi8z8cafuweuNvwdjfZYCYvNbRAt1nB9Bxn9Q99rdpYawU3eH3UvzkvMYoJ5wtnGSsPJ9B7NHBkxxHUG",
"expires_in": 3600,
"expires_at": 1733710213
}
認証方式: client_secret_post
リクエストメソッド: POST
ヘッダーパラメーター
パラメーター | タイプ | 説明 | 例 |
Content-Type | 文字列 | コンテンツタイプ。 値を application/x-www-form-urlencoded に設定します。 | application/x-www-form-urlencoded |
リクエストパラメーター
パラメーター | タイプ | 説明 | 例 |
grant_type | 文字列 | 権限タイプ。値を client_credentials に設定します。 | client_credentials |
client_id | 文字列 | アプリケーション ID。 | |
client_secret | 文字列 | アプリケーションシークレット。 | |
scope | 文字列 | リクエストされた権限の範囲。 値は resourceServerIdentifier+"|"+scope の形式です。 たとえば、resourceServerIdentifier が http://www.example.com で、scope が read:file の場合、 返される結果は http://www.example.com|read:file です。 リソースサーバー識別子パラメーターを使用して、すべての承認済みスコープを取得できます。 | http://aliyun.com|read:file |
リクエスト例
curl --location --request POST 'https://XXXX.aliyunidaas.com/api/v2/iauths_system/oauth2/token'
--header 'Content-Type: application/x-www-form-urlencoded'
--data-urlencode 'grant_type=client_credentials'
--data-urlencode 'client_id=app_m5doozesno52kbqrqpw3XXXX'
--data-urlencode 'client_secret=CS5v3F4Cy8hyDmFPJtAuyHDTUdR8i88GcgcXXXXX'
--data-urlencode 'scope=http://www.example.com|read:file'
レスポンス例
{
"token_type": "Bearer",
"access_token": "AT8csE2sepE4TT9j45xFgRGhEDyS3ovfZDF68Ac4aaQ7c4dBpUahD1cYSCFQbsfpM9ysSArv1pTszcGTZEJK11yGA62GKWd4cf33ZVGsgPfLwYDPX2ZRCUpThTaWoxtXCs9zeZzGwxjc5xtasaQMeuE8PuGeHg9SyMzKxJQVv9ubQhoFXjQkoPUotUms4R2M9SBLpWSCaGDf3oiJ5WCuGyMzJdrrdQeLSB7dU9P1iKbjxGWCmwaMLMkUWZBKsAeYi3xjJmpMsuLq3811KAV5bttwi8z8cafuweuNvwdjfZYCYvNbRAt1nB9Bxn9Q99rdpYawU3eH3UvzkvMYoJ5wtnGSsPJ9B7NHBkxxHUG",
"expires_in": 3600,
"expires_at": 1733710213
}
認証方式: client_secret_jwt
リクエストメソッド: POST
ヘッダーパラメーター
パラメーター | タイプ | 説明 | 例 |
Content-Type | 文字列 | コンテンツタイプ。 値を application/x-www-form-urlencoded に設定します。 | application/x-www-form-urlencoded |
リクエストパラメーター
パラメーター | タイプ | 説明 | 例 |
grant_type | 文字列 | 権限タイプ。 値を client_credentials に設定します。 | client_credentials |
client_id | 文字列 | アプリケーション ID。 | |
client_assertion_type | 文字列 | クライアントアサーションタイプ。 値を urn:ietf:params:oauth:client-assertion-type:jwt-bearer に設定します。 | |
client_assertion | 文字列 | client_secret を使用してクライアントが発行した署名。 値は JWT 形式です。 署名アルゴリズムは HS256 です。 | |
scope | 文字列 | リクエストされた権限の範囲。 値は resourceServerIdentifier+"|"+scope の形式です。 たとえば、resourceServerIdentifier が http://www.example.com で、scope が read:file の場合、 返される結果は http://www.example.com|read:file です。 リソースサーバー識別子パラメーターを使用して、すべての承認済みスコープを取得できます。 | http://aliyun.com|read:file |
リクエスト例
curl --request POST \
--url 'https://XXXX.aliyunidaas.com/api/v2/iauths_system/oauth2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id={{clientId}}' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer' \
--data-urlencode 'client_assertion={{JwtToken}}'
--data-urlencode 'scope=http://www.example.com|read:file'
レスポンス例
{
"token_type": "Bearer",
"access_token": "AT8csE2sepE4TT9j45xFgRGhEDyS3ovfZDF68Ac4aaQ7c4dBpUahD1cYSCFQbsfpM9ysSArv1pTszcGTZEJK11yGA62GKWd4cf33ZVGsgPfLwYDPX2ZRCUpThTaWoxtXCs9zeZzGwxjc5xtasaQMeuE8PuGeHg9SyMzKxJQVv9ubQhoFXjQkoPUotUms4R2M9SBLpWSCaGDf3oiJ5WCuGyMzJdrrdQeLSB7dU9P1iKbjxGWCmwaMLMkUWZBKsAeYi3xjJmpMsuLq3811KAV5bttwi8z8cafuweuNvwdjfZYCYvNbRAt1nB9Bxn9Q99rdpYawU3eH3UvzkvMYoJ5wtnGSsPJ9B7NHBkxxHUG",
"expires_in": 3600,
"expires_at": 1733710213
}
認証方式: private_key_jwt
リクエストメソッド: POST
ヘッダーパラメーター
パラメーター | タイプ | 説明 | 例 |
Content-Type | 文字列 | コンテンツタイプ。 値を application/x-www-form-urlencoded に設定します。 | application/x-www-form-urlencoded |
リクエストパラメーター
パラメーター | タイプ | 説明 | 例 |
grant_type | 文字列 | 権限タイプ。 値を client_credentials に設定します。 | client_credentials |
client_id | 文字列 | アプリケーション ID。 | |
client_assertion_type | 文字列 | クライアントアサーションタイプ。 値を urn:ietf:params:oauth:client-assertion-type:jwt-bearer に設定します。 | |
client_assertion | 文字列 | 秘密鍵を使用してクライアントが発行した署名。 値は JWT 形式です。 署名アルゴリズムは RS256 です。 | |
scope | 文字列 | リクエストされた権限の範囲。 値は resourceServerIdentifier+"|"+scope の形式です。 たとえば、resourceServerIdentifier が http://www.example.com で、scope が read:file の場合、 返される結果は http://www.example.com|read:file です。 リソースサーバー識別子パラメーターを使用して、すべての承認済みスコープを取得できます。 | http://aliyun.com|read:file |
リクエスト例
curl --request POST \
--url 'https://XXXX.aliyunidaas.com/api/v2/iauths_system/oauth2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id={{clientId}}' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer' \
--data-urlencode 'client_assertion={{JwtToken}}'
--data-urlencode 'scope=http://www.example.com|read:file'
レスポンス例
{
"token_type": "Bearer",
"access_token": "AT8csE2sepE4TTj45xFgRGhEDyS3ovfZDF68Ac4aaQ7c4dBpUahD1cYSCFQbsfpM9ysSArv1pTszcGTZEJK11yGA62GKWd4cf33ZVGsgPfLwYDPX2ZRCUpThTaWoxtXCs9zeZzGwxjc5xtasaQMeuE8PuGeHg9SyMzKxJQVv9ubQhoFXjQkoPUotUms4R2M9SBLpWSCaGDf3oiJ5WCuGyMzJdrrdQeLSB7dU9P1iKbjxGWCmwaMLMkUWZBKsAeYi3xjJmpMsuLq3811KAV5bttwi8z8cafuweuNvwdjfZYCYvNbRAt1nB9Bxn9Q99rdpYawU3eH3UvzkvMYoJ5wtnGSsPJ9B7NHBkxxHUG",
"expires_in": 3600,
"expires_at": 1733710213
}
エラーコード
HTTP ステータスコード | エラーコード | エラーメッセージ | 説明 |
400 | invalid_request | 必須パラメーター変数: grant_type | リクエストに必要なパラメーターが不足しているか、指定されたパラメーター値が無効であるか、パラメーター値の形式が無効です。 |
400 | authentication_required | 認証が必要です。許可されている認証方式: [client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt] | 認証方式が無効です。次の認証方式がサポートされています: client_secret_basic、client_secret_post、client_secret_jwt、 private_key_jwt |
400 | invalid_client_credential | 無効な client_assertion。理由: [expired] | クライアントアサーションが無効で、トークンの有効期限が切れています。 |
400 | invalid_grant | 無効またはサポートされていない grant_type: authorization_code | 権限のタイプがサポートされていません。 |
400 | invalid_scope | 無効なスコープ: http://www.example.com|read:file | リクエスト範囲が無効または不明です。 |
500 | internal_error | 予期しない内部エラー | 内部サーバーエラーが発生しました。 |