Authorizationエンドポイント
クライアントがユーザーをAuthorizationエンドポイントへリダイレクトさせ、ユーザーの認証・認可を得るためのエンドポイントです。
ユーザーの認証状態・認可状態を判定し、適切なページへリダイレクトさせ、認可コードを返す機能を提供します。
リクエスト
URL: https://auth.login.yahoo.co.jp/yconnect/v2/authorization
サポートするHTTPメソッド: GET/POST
authorization: なし
リクエストパラメーター
パラメーター | 必須 | 説明 | 入力値(サンプル) |
---|---|---|---|
response_type | ○ | code という固定文字列を指定してください。 |
|
client_id | ○ | アプリケーション登録時に発行したClient IDを指定してください。 |
|
redirect_uri | ○ | アプリケーション登録時に設定したフルURL(もしくはカスタムURIスキーム)を指定してください。事前に登録されているクライアントのリダイレクト URI 値のひとつに正確に一致している必要があります。 | |
bail | bail=1 を指定すると同意画面で「同意しない」ボタンをクリックした際にcodeパラメーターを付加せずにredirect_uriへリダイレクトさせます。指定しない場合はYahoo!トップへ遷移します。 | ||
scope | ○ | UserInfo APIから取得できる属性情報を指定できます。 複数選択する場合はスペース区切りで指定します。
|
※URLエンコードが必要です。 |
state | CSRF対策として、同一のセッションであることを確認するために利用します。リクエストごとにアプリケーション側で生成した十分な長さのランダムな文字列を指定してください。 | ||
nonce | リプレイアタック対策のパラメーターです。リクエストごとにアプリケーション側で生成した十分な長さのランダムな文字列を指定してください。指定したnonce値はID Tokenに含まれて返却されます。ID Tokenの使い回しを防止するために、nonce値を検証し、同じID 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
&client_id=dj0zaiZpPXNYeG5tRXJKUVVlLSZzPWNvbnN1bWVyc2VjcmV0Jng9ZWU-
&redirect_uri=https%3A%2F%2Fexample.org%2Fcb
&scope=openid%20profile
&state=af0ifjsldkj HTTP/1.1
レスポンス
正常レスポンス
パラメーター名 | 必須 | 概要 | 返却値(サンプル) |
---|---|---|---|
code | ※ | 認可コード(8Byteの固定長文字列) ※ユーザーが同意した場合のみ返却されます。 |
|
state | ※ | リクエスト時に指定されたstate値 ※Authorizationリクエスト時のstateが指定されている場合に返却されます。 CSRF対策として、リクエスト時に指定したstate値とレスポンスで取得したstate値の一致を確認してください。 |
|
レスポンスサンプル
HTTP/1.1 302 Found
Location: https://example.org/cb?
code=SxlOBeZQ
&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