Yahoo! ID連携

Tokenエンドポイント

Tokenエンドポイント

ウェブAPIにアクセスするのに必要なアクセストークンとアクセストークン更新用のリフレッシュトークンを返却します。
また、当エンドポイントでアクセストークンの更新も行います。



リクエスト

URL: https://auth.login.yahoo.co.jp/yconnect/v1/token

サポートするHTTPメソッド: POST

Content-Type: application/x-www-form-urlencoded

Authorization: Basic認証

※サーバーサイドアプリケーションのTokenエンドポイントアクセス時にはBasic認証が必要です。
アプリケーション登録時に発行されたアプリケーションIDとシークレットを「:」(コロン)でつなぎ、Base64でエンコードしたものをAuthorizationヘッダーに乗せてアクセスしてください。

作成方法
basicAuth = base64_encode($applicationId . ':' . $secret);
送信内容
Authorization: Basic 
ZGoweUptazljbTgxVTIxNWRWTnNjbmRQSm1ROVdWZHJPVTB5TVd4a1NGcEpUakpOYldOSGJ6bE5RUzB0Sm5NOVkyOXVjM1Z0WlhKelpXTnlaWFFtZUQwMU5RLS06MDkwMjU4OTQ0ZDhiZjE4ODMxNDA3ZmNhNDM0ODE0MTVmOTI0MWU1Nw==

アクセストークン新規取得時のリクエストパラメーター

パラメーター 必須 説明
grant_type authorization_code という固定文字列を指定してください。
code 認可コードを指定してください。一度リクエストした認可コードは使用できなくなります。再度リクエストする際にはAuthorizationエンドポイントで再取得してください。
redirect_uri Authorizationエンドポイントで指定したURI

サンプルリクエストURL

POST /yconnect/v1/token HTTP/1.1
Host: auth.login.yahoo.co.jp
Authorization: Basic ZGoweUptazljbTgxVTIxNWRWTnNjbmRQSm1ROVdWZHJPVTB5TVd4a1NGcEpUakpOYldOSGJ6bE5RUzB0Sm5NOVkyOXVjM1Z0WlhKelpXTnlaWFFtZUQwMU5RLS06N0ZqZnAwWkJyMUt0RFJibmZWZG1Jdw==
Content-Type: application/x-www-form-urlencoded;charset=UTF-8

grant_type=authorization_code&code=kr4ch7ga&redirect_uri=http%3A%2F%2Fsample.domain.yahoo.co.jp%2Fcallback_path

アクセストークン更新時のリクエストパラメーター

パラメーター 必須 説明
grant_type refresh_token という固定文字列を指定してください。
refresh_token 発行されたリフレッシュトークン

サンプルリクエストURL

POST /yconnect/v1/token HTTP/1.1
Host: auth.login.yahoo.co.jp
Authorization: Basic ZGoweUptazljbTgxVTIxNWRWTnNjbmRQSm1ROVdWZHJPVTB5TVd4a1NGcEpUakpOYldOSGJ6bE5RUzB0Sm5NOVkyOXVjM1Z0WlhKelpXTnlaWFFtZUQwMU5RLS06N0ZqZnAwWkJyMUt0RFJibmZWZG1Jdw==
Content-Type: application/x-www-form-urlencoded;charset=UTF-8

grant_type=refresh_token&refresh_token=tGzv3JOkF0XG5Qx2TlKWIA


レスポンス

アクセストークン新規取得時のレスポンスパラメーター

パラメーター 説明
access_token アクセストークン。APIへアクセスするのに使用します。最大1024Byte の可変長トークンです。
token_type アクセストークンタイプ。ウェブAPIへアクセスする際にアクセストークンを適切に用いるために必要な情報を提供します。
expires_in アクセストークンの有効期限を表す秒数。通常は3600(1時間)です。
refresh_token リフレッシュトークン。アクセストークンを更新するときに使用します。有効期限は4週間です。最大512Byte の可変長トークンです。
id_token ユーザー認証情報を含む改ざん検知用の署名付きトークン。authorizationのresponse_typeにて id_token を指定していた場合のみ返却します。最大1024Byte の可変長です。

サンプルレスポンスパラメーター

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache

{
   "access_token":"hZTtR27QpQELXIbTdv0OMkDsxNC8e0WR9VdcLiKcLZ9c9saAoaWWB37s148kaM_rdDpmPe5IWVV_sdD96ImhmzFgDZnU_h1R.usFFftz2X_xYVmf.OAEytY3CnspsjUgbEP8aUfaMhpGu6boa44_aeMpwv1BIUuv8I.dNTD7LmUEhtaumoehDnGJGkgZDZDAKW5GCo8F7xWQK932mty2j20u1wBVuifuHJHI7.CbooAIADs9QH18ajqE6bv6kHrhCHKFqol0AoVSm.8uL4pRJnBPwCUz7fZY.MYQjHzUQyign6hl6ZdZjvZwL9shqR40ykRF3cAD4r6IOD8RyT9ThnBXIURgZsEkptpq0Uwb.4FfwIvVGpCT1nruS4sxcmR2zb1WeEaKTHDeV9kcpe6o4PHN4YGmiKAocnE0v2Ur728FPhOnfSQOp_RlaNbZx1N8S3itQwjBsDLmbGCDTXl0Sq7ZhHLqRnAgFX9o6Y0M2yrG0tu__qADSj1r.JAZlM1IkP__F0oPtvP4FEVDDIN5PqYPXa354ONEDojrwELWQK8vRlL6itViC1mAbjJ0l7laW2X1vjOdwQC5g15Rb3m.Jl7ca6T4SQ55.vDkkIm1phYY7OjMapluHiRF6XE6rk1lavdp1z18qeOA4fKJMS7HIYwQrV.Re4VJKRJNO.K0UdGblI9.1b11uTXd9PwZHUlW3Tvn0LGLdd7.Q_rLCVs955K9SsuJBb1Cckc089i81vxTxm.V1Q2OBRckZjTT5a3aKDmT1oULUNOuUlw3",
   "token_type":"bearer",
   "expires_in":"3600",
   "refresh_token":"AJAeEVAAaJ3KwKXLlSjht.FqB.KbYlwNHQUsOBT4epMupOwDjV.OtsU-",
   "id_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvYXV0aC5sb2dpbi55YWhvby5jby5qcCIsInVzZXJfaWQiOiI1Qk5UNkZINFBFV0tVV1VBQlpaR1JNTDJVTSIsImF1ZCI6ImRqMHlKbWs5Y204MVUyMTVkVk5zY25kUEptUTlXVmRyT1UweU1XeGtTRnBKVGpKTmJXTkhiemxOUVMwdEpuTTlZMjl1YzNWdFpYSnpaV055WlhRbWVEMDFOUS0tIiwiaWF0IjoxMzQzMjk5MjIyLCJleHAiOjEzNDMzMDI4MTYsIm5vbmNlIjoiaG9nZWhvZ2UifQ.OeK5Y8TyFbes_JBddOelFWzD1HFSwzBsndADF-sVA_8"
}

アクセストークン更新時のレスポンスパラメーター

パラメーター 説明
access_token アクセストークン。APIへアクセスするのに使用します。最大1024Byte の可変長トークンです。
token_type アクセストークンタイプ。ウェブAPIへアクセスする際にアクセストークンを適切に用いるために必要な情報を提供します。
expires_in アクセストークンの有効期限を表す秒数。通常は3600(1時間)です。

サンプルレスポンスパラメーター

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache

{
   "access_token":"3FWwhoTwvSal9klWWjtRV2WngusIKO2vU.OID4edFeYaU1i5hqrHBpOaWLHkXXbwLBShiDbUvplmxd4vhSUGhNQhBRjFE2pMCpoMyyHTeqi1fj8eq1.fXEzZmuIVO72pOaX_Ed.gQ.DsGkVjaaWwQ_g5EiYwMqtRibtuYvbatosWSv0231hGpH8RHfaXbnsSx.eYuUyvXwN2cwU4I3LNq.b_kcPGCgE5xdVbGWvGljyU9b3h1afSFwq2P.4mYXnAmvtZYwej5OrEK7fCTYtnyvRjepPP40_wJ5jkGnVs.V5uR0GPG2I6mUx_O5OIoFaKBOw6Lznel2R_EA7MFsVYZtxYPs7eh7AE.5ysxMu.iVixFNyqomjf6FENlUVyHumRO_6b7nzPROa9Aa90y.m4din1iGbIq8p0ZxkH_H2sGv.J5kdavt2CnatJYM7QuSkQPt5AhJ6JhpzY69zdH5vw6VSx3EquvKZfFiq7tElTQ7GYA9ZKv4eyiiw6S5z_VM2heOO4gQFjZ32mhngcEj47WShXQoNLAL8v5XdVTmbQvd5YMC2_3BFEB.8eIblKQqdpqeH93r1uMSamnnTptsk0x7n8toYX_bRzW2742wS8NU_Sm1uXmrl70wAugOizQcbzHh4SKv1QJ3qgI035m3hnGe799uODOxhIKCI9njT0LvJCQN_f6Gx4BwjnHOS0luvY.nuVyx41jI9e176kkA--",
   "token_type":"bearer",
   "expires_in":"3600"
}

エラーレスポンス

リクエスト内容に誤りがあった場合は以下のレスポンスが返却されます。

パラメーター 説明
error 以下のエラーコードを返却します。
  • 'invalid_request'(400) :必須パラメーターが空、パラメーターが不正、未サポートのパラメーター
  • 'invalid_redirect_uri'(400) :redirect_uriがauthorizationリクエスト時と異なっている。
  • 'invalid_client'(401) :Basic認証を行っていない、Basic認証に失敗時
  • 'unsupported_grant_type'(400) :サポート外のgrant_type
  • 'invalid_grant'(401) :リフレッシュトークンが期限切れ
  • 'unauthorized_client'(403) :クライアントが削除されている。
  • 'access_denied'(403) :https以外でアクセス、アクティブユーザーでない。
  • 'server_error'(500) :認可サーバーの予期せぬエラー
error_description エラー内容の詳細な説明

サンプルエラーレスポンス

http://example.com/cb?error=invalid_request&error_description=required+parameter+is+empty.+%5B%22response_type%22%5D&state=xyz


Yahoo!知恵袋で調べる