Authorizationエンドポイント
クライアントがユーザーをAuthorizationエンドポイントへリダイレクトさせ、ユーザーの認証・認可を得るためのエンドポイントです。
ユーザーの認証状態・認可状態を判定し、適切なページへリダイレクトさせ、認可コードを返す機能を提供します。
リクエスト
URL: https://auth.login.yahoo.co.jp/yconnect/v2/authorization
サポートするHTTPメソッド: GET/POST
Authorization: なし
リクエストパラメーター
パラメーター | 必須 | 説明 | 入力値(サンプル) |
---|---|---|---|
response_type | ○ | 「code id_token」「code token」「code id_token token」のいずれかを指定してください。 code:認可コードを返却 token:Access Tokenを返却 id_token:ID Tokenを返却 |
※URLエンコードが必要です。 |
client_id | ○ | アプリケーション登録時に発行したClient IDを指定してください。 |
|
redirect_uri | ○ | アプリケーション登録時に設定したフルURL(もしくはカスタムURIスキーム)を指定してください。事前に登録されているクライアントのリダイレクト URI 値のひとつに正確に一致している必要があります。 |
※URLエンコードが必要です。 |
bail | bail=1 を指定すると同意画面で「同意しない」ボタンをクリックした際にcodeパラメーターを付加せずにredirect_uriへリダイレクトさせます。指定しない場合はYahoo!トップへ遷移します。 | ||
scope | ○ | UserInfo APIから取得できる属性情報を指定できます。 複数選択する場合はスペース区切りで指定します。
|
※URLエンコードが必要です。 |
state | CSRF対策として、同一のセッションであることを確認するために利用します。リクエストごとにアプリケーション側で生成した十分な長さのランダムな文字列を指定してください。 |
|
|
nonce | ※ | リプレイアタック対策のパラメーターです。リクエストごとにアプリケーション側で生成した十分な長さのランダムな文字列を指定してください。指定したnonce値はID Tokenに含まれて返却されます。ID Tokenの使い回しを防止するために、nonce値を検証し、同じID Tokenが二度以上使用されていないことを確認してください。 ※response_typeが「code id_token」もしくは「code id_token token」の場合は必須です。 nonceの値は十分な不規則性がなければいけません。 |
|
display | ログイン画面、同意画面で表示するページ種類を指定する場合に利用します。指定されていない場合にはpageが初期値となります
。
|
|
|
prompt | ユーザーに強制させたいアクションを指定します。複数指定する場合はスペース区切りにします。
|
|
|
max_age | 最大認証経過時間を指定します。指定された秒数よりも認証日時が経過していた場合は再認証が必要です。 |
|
|
code_challenge |
認可コード横取り攻撃対策(PKCE)のパラメーターです。code_verifierから生成した値を指定してください。 code_verifierおよびcode_challengeの生成方法は下記をご確認ください。 https://tools.ietf.org/html/rfc7636#page-8 |
|
|
code_challenge_method |
認可コード横取り攻撃対策(PKCE)のパラメーターです。code_challengeの生成方法に応じた値を指定してください。
|
|
リクエストサンプル
GET /yconnect/v2/authorization?
response_type=code%20id_token
&client_id=dj0zaiZpPXNYeG5tRXJKUVVlLSZzPWNvbnN1bWVyc2VjcmV0Jng9ZWU-
&redirect_uri=https%3A%2F%2F
example.org%2Fcb
&scope=openid%20profile
&nonce=n-0S6_WzA2Mj
&state=af0ifjsldkj HTTP/1.1
Host: auth.login.yahoo.co.jp
レスポンス
正常レスポンス
パラメーター名 | 必須 | 概要 | 返却値(サンプル) |
---|---|---|---|
access_token | ※ | Access Token文字列(最大3072Byteの可変長文字列) ※Authorizationリクエスト時のresponse_typeにtokenが指定されている場合に返却されます。 |
|
token_type | ※ | Token Type Bearer Token形式 ※Authorizationリクエスト時のresponse_typeにtokenが指定されている場合に返却されます。 |
※固定値 |
id_token | ※ | ID Token文字列(最大1024Byteの可変長) ※Authorizationリクエスト時のresponse_typeにid_tokenが指定されている場合に返却されます。 |
|
code | ※ | 認可コード(8Byteの固定長文字列) ※ユーザーが同意した場合のみ返却されます。 Hybrid Flowの時は常に返却されます。 HTTPクライアントなどでサーバーサイドへ送信しTokenエンドポイントでAccess Token発行に用います。 |
|
state | ※ | リクエスト時に指定されたstate値 ※Authorizationリクエスト時のstateが指定されている場合に返却されます。 CSRF対策として、リクエスト時に指定したstate値とレスポンスで取得したstate値の一致を確認してください。 |
|
レスポンスサンプル
HTTP/1.1 302 Found
Location: https://example.org/cb#
code=SxlOBeZQ
&id_token=eyJ0 ... NiJ9.eyJ1c ... I6IjIifX0.DeWt4Qu ... ZXso
&state=af0ifjsldkj
エラーレスポンス
パラメーター名 | 必須 | 概要 | 返却値(サンプル) |
---|---|---|---|
state | ※ | リクエスト時に指定されたstate値 ※Authorizationリクエスト時のstateが指定されている場合に返却されます。 |
|
error | ○ | エラーコード 詳細は下記をご確認ください。 https://openid.net/specs/openid-connect-core-1_0.html#AuthError |
|
error_description | ○ | エラー概要 |
|
error_code | ○ | エラー判定用コード |
|
レスポンスサンプル
HTTP/1.1 302 Found
Location: https://example.org/cb#
state=af0ifjsldkj
&error=invalid_request
&error_description=Unsupported%20response_type%20value
&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