Yahoo! ID連携

Authorizationエンドポイント

Authorizationエンドポイント

クライアントがユーザーをAuthorizationエンドポイントへリダイレクトさせ、ユーザーの認証・認可を得るためのエンドポイントです。
ユーザーの認証状態・認可状態を判定し、適切なページへリダイレクトさせ、認可コードを返す機能を提供します。



リクエスト

URL: https://auth.login.yahoo.co.jp/yconnect/v2/authorization

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

Authorization: なし

リクエストパラメーター

パラメーター 必須 説明 入力値(サンプル)
response_type 「token」「id_token」「id_token token」のいずれかを指定してください。指定したものが返却されます。
token:Access Tokenを返却
id_token:ID Tokenを返却
id_token%20token
※URLエンコードが必要です。
client_id アプリケーション登録時に発行したClient IDを指定してください。 dj00zaiZpPXNYeG5tRXJVVlLSZzP
uWNvbnN1bWVyc2VjcmV0Jng9ZWU-
redirect_uri アプリケーション登録時に設定したフルURL(もしくはカスタムURIスキーム)を指定してください。事前に登録されているクライアントのリダイレクト URI 値のひとつに正確に一致している必要があります。
bail bail=1 を指定すると同意画面で「同意しない」ボタンをクリックした際にcodeパラメーターを付加せずにredirect_uriへリダイレクトさせます。指定しない場合はYahoo!トップへ遷移します。
scope UserInfo APIから取得できる属性情報を指定できます。
複数選択する場合はスペース区切りで指定します。
  • openid :(必須)ユーザー識別子を返却します。
  • profile :姓名・生年・性別を返却します。
  • email :メールアドレスと確認済みフラグを返却します。
  • address :ユーザー登録住所情報を返却します。
openid%20address%20profile
※URLエンコードが必要です。
state CSRF対策として、同一のセッションであることを確認するために利用します。リクエストごとにアプリケーション側で生成した十分な長さのランダムな文字列を指定してください。
nonce リプレイアタック対策のパラメーターです。リクエストごとにアプリケーション側で生成した十分な長さのランダムな文字列を指定してください。指定したnonce値はID Tokenに含まれて返却されます。ID Tokenの使い回しを防止するために、nonce値を検証し、同じID Tokenが二度以上使用されていないことを確認してください。
※response_typeが「id_token token」もしくは「id_token」の場合は必須です。
nonceの値は十分な不規則性がなければいけません。
display ログイン画面、同意画面のテンプレートの種類を指定する場合に利用します。
  • page:PC版テンプレート(指定されていない場合にはpageがデフォルト値)
  • touch:スマートフォン版テンプレート
  • auto:User Agentから自動判定でテンプレートを出し分け
  • popup:ポップアップ版テンプレート
  • inapp:ネイティブアプリ版のテンプレート
page
prompt ユーザーに強制させたいアクションを指定します。複数指定する場合はスペース区切りにします。
  • consent:同意画面を強制表示します。ユーザー情報へのアクセスすることの同意確認をとりたい時に利用します。
  • login : ログインまたはパスワード再確認画面を強制表示します。ユーザーが既にYahoo! JAPAN上でログイン状態の場合でも再認証を要求したい時に利用します。
  • select_account:ID切り替え画面を強制表示します。
  • none:ログインや同意などの画面を非表示にしたい時に利用します。ユーザーがYahoo!上でログイン状態でなかった場合、データアクセスに対して過去に同意済みでなかった場合はエラーパラメーターが返却されます。このアクションについては他のアクションと組み合わせて利用ができません。
login
max_age 最大認証経過時間を指定します。指定された秒数よりも認証日時が経過していた場合は再認証が必要です。 3600

リクエストサンプル

GET /yconnect/v2/authorization?
response_type=id_token%20token
&client_id=dj0zaiZpPXNYeG5tRXJKUVVlLSZzPWNvbnN1bWVyc2VjcmV0Jng9ZWU-
&redirect_uri=https%3A%2F%2Fclient.example.org%2Fcb
&scope=openid%20profile
&state=af0ifjsldkj
&nonce=n-0S6_WzA2Mj HTTP/1.1


レスポンス

正常レスポンス

パラメーター名必須概要返却値(サンプル)
access_token Access Token文字列(最大1024Byteの可変長文字列)
※Authorizationリクエスト時のresponse_typeにtokenが指定されている場合に返却されます。
SlAV32hkKG
expires_in Access Tokenの有効期限(秒)
※Authorizationリクエスト時のresponse_typeにtokenが指定されている場合に返却されます。
3600(固定値)
id_token ID Token文字列(最大1024Byteの可変長)
※Authorizationリクエスト時のresponse_typeにid_tokenが指定されている場合に返却されます。
state リクエスト時に指定されたstate値
※Authorizationリクエスト時のstateが指定されている場合に返却されます。 CSRF対策として、リクエスト時に指定したstate値とレスポンスで取得したstate値の一致を確認してください。
af0ifjsldkj
token_type Token Type
Bearer Token形式
※Authorizationリクエスト時のresponse_typeにtokenが指定されている場合に返却されます。
bearer(固定値)

レスポンスサンプル

HTTP/1.1 302 Found
Location: https://client.example.org/cb#
  access_token=SlAV32hkKG
  &token_type=bearer
  &id_token=eyJ0 ... NiJ9.eyJ1c ... I6IjIifX0.DeWt4Qu ... ZXso
  &expires_in=3600
  &state=af0ifjsldkj

エラーレスポンス

パラメーター名必須概要返却値(サンプル)
state リクエスト時に指定されたstate値
※Authorizationリクエスト時のstateが指定されている場合に返却されます。
af0ifjsldkj
error エラーコード
詳細は下記をご確認ください。
https://openid.net/specs/openid-connect-core-1_0.html#AuthError
invalid_request
error_description エラー概要Unsupported response_type value
error_code エラー判定用コード1000

レスポンスサンプル

HTTP/1.1 302 Found
Location: https://client.example.org/cb?
  state=af0ifjsldkj
  &error=invalid_request
  &error_description=Unsupported%20response_type%20value
  &error_code=1000


Yahoo!知恵袋で調べる