Tokenエンドポイント

Authorizationエンドポイントで取得した認可コードを用いてAccess Token, Refresh Token, ID Tokenを新規取得します。また、Refresh Tokenを用いてAccess Tokenを更新(再発行)します。

リクエスト

URL: https://auth.login.yahoo.co.jp/yconnect/v2/token
サポートするHTTPメソッド: POST

リクエストヘッダー

サーバーサイド・アプリケーションの場合は、Basic認証を用いたクライアント認証が必須です。
登録済のClient IDとClient Secretを":"(コロン)で連結し、Base64エンコードを行った上、Authorizationヘッダーで送出してください。
※Client IDがクライアントサイド・アプリケーションとして発行された場合は、リクエストパラメーターでClient IDを指定してください。

サンプル

Authorization: Basic SlAV32hkKG

リクエストパラメーター

Access Token新規取得時

パラメーター 必須 説明 入力値(サンプル)
grant_type authorization_code という固定文字列を指定してください。
authorization_code
client_id Client IDの文字列
※Authorizationヘッダーの指定がない場合は必須です。
dj00zaiZpPXNYeG5tRXJKUVVlLSZ
zPNvbnN1bWVyc2VjcmV0Jng9ZWU-
client_secret Client Secretの文字列
※Authorizationヘッダーの指定がない場合は必須です。
※Client IDがクライアントサイド・アプリケーションとして発行された場合は指定する必要はありません。
redirect_uri 同意処理後の戻り先であるURLまたはCustom URI Scheme
事前に登録されているクライアントのリダイレクト URI 値のひとつに正確に一致している必要があります。
code Authorizationエンドポイントで取得した認可コードの文字列を指定してください。
SxlOBeZQ
code_verifier 認可コード横取り攻撃対策(PKCE)のパラメーターです。
※認可リクエスト時にcode_challengeを指定した場合は必須です。
dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk

Authorizationヘッダー指定あり

POST /yconnect/v2/token HTTP/1.1
Host: auth.login.yahoo.co.jp
Content-Type: application/x-www-form-urlencoded
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW

grant_type=authorization_code
&code=SxlOBeZQ
&redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb

Authorizationヘッダー指定なし

POST /yconnect/v2/token HTTP/1.1
Host: auth.login.yahoo.co.jp
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&client_id=dj0zaiZpPXNYeG5tRXJKUVVlLSZzPWNvbnN1bWVyc2VjcmV0Jng9ZWU-
&client_secret=mhW3DqdRdUhyB8YpiLgMx9z0lBUKDnPTDmUnDRYv
&code=SxlOBeZQ
&redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb

Access Token更新時

パラメーター 必須 説明 入力値(サンプル)
grant_type refresh_token という固定文字列を指定してください。
refresh_token
client_id Client IDの文字列
※Authorizationヘッダーの指定がない場合は必須です。
dj00zaiZpPXNYeG5tRXJKUVVlLSZ
zPNvbnN1bWVyc2VjcmV0Jng9ZWU-
client_secret Client Secretの文字列
※Authorizationヘッダーの指定がない場合は必須です。
※Client IDがクライアントサイド・アプリケーションとして発行された場合は指定する必要はありません。
refresh_token 発行されたRefresh Tokenを指定してください。
8xLOxBtZp8

Authorizationヘッダー指定あり

POST /yconnect/v2/token HTTP/1.1
Host: auth.login.yahoo.co.jp
Content-Type: application/x-www-form-urlencoded
Authorization: Basic czZCaGRSa3F0MzpnWDFmQmF0M2JW

grant_type=refresh_token
&refresh_token=8xLOxBtZp8

Authorizationヘッダー指定なし

POST /yconnect/v2/token HTTP/1.1
Host: auth.login.yahoo.co.jp
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token
&client_id=dj0zaiZpPXNYeG5tRXJKUVVlLSZzPWNvbnN1bWVyc2VjcmV0Jng9ZWU-
&client_secret=mhW3DqdRdUhyB8YpiLgMx9z0lBUKDnPTDmUnDRYv
&refresh_token=8xLOxBtZp8

レスポンス

Access Token新規取得時

パラメーター名必須概要返却値(サンプル)
access_tokenAccess Token。APIへアクセスするのに使用します。最大3072Byte の可変長トークンです。
"SlAV32hkKG"
token_typeToken Type。Web APIへアクセスする際にAccess Tokenを適切に用いるために必要な情報を提供します。Bearer Token形式です。
"Bearer"
refresh_tokenRefresh Token。Access Tokenを更新するときに使用します。有効期限は4週間です。最大512Byteの可変長文字列です。
"8xLOxBtZp8"
expires_inAccess Tokenの有効期限を表す秒数です。
3600
id_tokenID Token。ユーザー認証情報を含む改ざん検知用の署名付きトークンです。最大1024Byte の可変長です。
"eyJhbGciOiJSUzI1NiIs...RkKU8NXNHq-rvKMzqg"
※BASE64でエンコードされています

レスポンスサンプル

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache

{
    "access_token": "SlAV32hkKG",
    "token_type": "Bearer",
    "refresh_token": "8xLOxBtZp8",
    "expires_in": 3600,
    "id_token": "eyJhbGciOiJSUzI1NiIsImtpZCI6IjFlOWdkazcifQ.ewogImlzcyI6ICJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwKICJzdWIiOiAiMjQ4Mjg5NzYxMDAxIiwKICJhdWQiOiAiczZCaGRSa3F0MyIsCiAibm9uY2UiOiAibi0wUzZfV3pBMk1qIiwKICJleHAiOiAxMzExMjgxOTcwLAogImlhdCI6IDEzMTEyODA5NzAKfQ.ggW8hZ1EuVLuxNuuIJKX_V8a_OMXzR0EHR9R6jgdqrOOF4daGU96Sr_P6qJp6IcmD3HP99Obi1PRs-cwh3LO-p146waJ8IhehcwL7F09JdijmBqkvPeB2T9CJNqeGpe-gccMg4vfKjkM8FcGvnzZUN4_KSP0aAp1tOJ1zZwgjxqGByKHiOtX7TpdQyHE5lcMiKPXfEIQILVq0pc_E2DzL7emopWoaoZTF_m0_N0YzFC6g6EJbOEoRoSK5hoDalrcvRYLSrQAZZKflyuVCyixEoV9GfNQC3_osjzw2PAithfubEEBLuVVk4XUVrWOLrLl0nx7RkKU8NXNHq-rvKMzqg"
}

Access Token更新時

パラメーター名必須概要返却値(サンプル)
access_tokenAccess Token。APIへアクセスするのに使用します。最大3072Byte の可変長トークンです。
"SlAV32hkKG"
token_typeToken Type。Web APIへアクセスする際にAccess Tokenを適切に用いるために必要な情報を提供します。Bearer Token形式です。
"Bearer"
expires_inAccess Tokenの有効期限を表す秒数です。
3600

レスポンスサンプル

HTTP/1.1 200 OK
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache

{
    "access_token": "SlAV32hkKG",
    "token_type": "Bearer",
    "expires_in": 3600
}

エラーレスポンス

パラメーター名必須概要返却値(サンプル)
error エラーコード
詳細は下記をご確認ください。
https://tools.ietf.org/html/rfc6749#page-45
"invalid_request"
error_description エラー概要
"Unsupported response_type value"
error_code エラー判定用コード
1000

レスポンスサンプル

HTTP/1.1 400 Bad Request
Content-Type: application/json
Cache-Control: no-store
Pragma: no-cache

{
    "error": "invalid_request",
    "error_description": "Unsupported response_type value",
    "error_code": 1000
}

アプリケーションの管理

Yahoo! ID連携 v2

利用のルール

開発のヒント