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 |
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 |
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_token | ◯ | Access Token。APIへアクセスするのに使用します。最大3072Byte の可変長トークンです。 | "SlAV32hkKG" |
token_type | ◯ | Token Type。Web APIへアクセスする際にAccess Tokenを適切に用いるために必要な情報を提供します。Bearer Token形式です。 | "Bearer" |
refresh_token | ◯ | Refresh Token。Access Tokenを更新するときに使用します。有効期限は4週間です。最大512Byteの可変長文字列です。 | "8xLOxBtZp8" |
expires_in | ◯ | Access Tokenの有効期限を表す秒数です。 | 3600 |
id_token | ◯ | ID 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_token | ◯ | Access Token。APIへアクセスするのに使用します。最大3072Byte の可変長トークンです。 | "SlAV32hkKG" |
token_type | ◯ | Token Type。Web APIへアクセスする際にAccess Tokenを適切に用いるために必要な情報を提供します。Bearer Token形式です。 | "Bearer" |
expires_in | ◯ | Access 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
- Yahoo! ID連携とは
- ガイドラインを確認する
- Yahoo! JAPAN IDを取得する
- Client IDを登録する
- 各種フロー
- ネイティブアプリを開発
- 属性取得API(UserInfoAPI)
- ID Token
- JavaScript SDK
- PHP SDK
- Java SDK
- デザインガイドライン
- APIアクセス実装方法
- Yahoo! ID連携用語集
- FAQ