Yahoo! ID連携

Tokenエンドポイント

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

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へアクセスするのに使用します。最大1024Byte の可変長トークンです。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.ewogImlzc
    yI6ICJodHRwOi8vc2VydmVyLmV4YW1wbGUuY29tIiwKICJzdWIiOiAiMjQ4Mjg5
    NzYxMDAxIiwKICJhdWQiOiAiczZCaGRSa3F0MyIsCiAibm9uY2UiOiAibi0wUzZ
    fV3pBMk1qIiwKICJleHAiOiAxMzExMjgxOTcwLAogImlhdCI6IDEzMTEyODA5Nz
    AKfQ.ggW8hZ1EuVLuxNuuIJKX_V8a_OMXzR0EHR9R6jgdqrOOF4daGU96Sr_P6q
    Jp6IcmD3HP99Obi1PRs-cwh3LO-p146waJ8IhehcwL7F09JdijmBqkvPeB2T9CJ
    NqeGpe-gccMg4vfKjkM8FcGvnzZUN4_KSP0aAp1tOJ1zZwgjxqGByKHiOtX7Tpd
    QyHE5lcMiKPXfEIQILVq0pc_E2DzL7emopWoaoZTF_m0_N0YzFC6g6EJbOEoRoS
    K5hoDalrcvRYLSrQAZZKflyuVCyixEoV9GfNQC3_osjzw2PAithfubEEBLuVVk4
    XUVrWOLrLl0nx7RkKU8NXNHq-rvKMzqg"
}

Access Token更新時

パラメーター名必須概要返却値(サンプル)
access_tokenAccess Token。APIへアクセスするのに使用します。最大1024Byte の可変長トークンです。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!知恵袋で調べる