ソーシャルログイン

Yahoo! ID連携の導入方法|取得できる情報・申請と設定の流れ・注意点

Yahoo! ID連携は、実装よりも申請の順番で導入期間が決まります。ログインはClient IDの登録で始められますが、氏名やメールアドレスを受け取るには属性取得APIの審査が必要で、その申し込みにもClient IDが要ります。本記事では、取得できる情報、申請と設定の流れ、導入時の注意点を示します。

Yahoo! ID連携とは、Yahoo! JAPAN IDを使って自社サイトにログイン・会員登録できるようにする仕組みです。OpenID Connectに準拠しており、利用者が同意した範囲で、氏名やメールアドレス、住所などの登録情報を受け取れます。

ソーシャルログインの基本(仕組み・メリットとデメリット・選び方)はソーシャルログインとはで解説しています。

結論:先にClient IDの登録と属性取得の審査を済ませる

Yahoo! ID連携の導入で時間がかかるのは、実装よりも申請まわりです。ログインだけならClient IDの登録で始められますが、氏名やメールアドレスなどの属性情報を受け取るには審査が必要です。また、審査の申し込みにはClient IDが必要なため、手続きは次の順番になります。

  1. Yahoo!デベロッパーネットワークでClient IDを登録する(登録に使うYahoo! JAPAN IDは、SMS認証とメインメールアドレスの登録を済ませておく)
  2. 属性取得API(UserInfoAPI)の利用を申し込み、審査を受ける
  3. 審査の結果を待つあいだに、ログインボタンや会員の照合を実装する

要件が決まったら、Client IDの登録だけでも先に済ませておくと、公開日が延びにくくなります。導入全体の流れはソーシャルログインの導入手順と期間で解説しています。

Yahoo! ID連携でできること

Yahoo! ID連携を入れると、事業者のサイトでは次のことができるようになります。

  • ログイン・会員登録……Yahoo! JAPAN IDでログインでき、自社用のパスワードを作らずに会員登録できる
  • 登録フォームの入力の省略……同意を得た氏名・メールアドレス・住所などを、会員登録フォームに反映できる
  • ログイン状態の維持……サーバー側で認可コードを使う方式では、リフレッシュトークンでアクセストークンを更新できる

Yahoo! JAPANはショッピングやオークションの利用者を抱えており、ECなど購買に関わるサイトと利用者層が重なりやすいサービスです。ほかのSNSとの違いや組み合わせ方は6サービスの比較と組み合わせ方をご覧ください。

取得できる情報

Yahoo! ID連携では、要求するスコープ(情報の範囲)によって受け取れる情報が決まります。公式ドキュメントで案内されている主な項目は次のとおりです。

スコープ

取得できる主な情報

備考

openid

ユーザー識別子(sub)

会員の識別にはこの値だけを使う

profile

氏名(姓・名、漢字・カナ)、ニックネーム、プロフィール画像、性別、生年月日など

属性取得APIの審査が必要

email

メールアドレス、確認済みかどうか

属性取得APIの審査が必要

address

国、郵便番号、都道府県、市区町村など

属性取得APIの審査が必要

属性情報を受け取れるのは、利用者が同意した範囲だけです。同意画面で一部の提供を断られた場合でも、会員登録が止まらないように作っておきます。ほかのSNSで取得できる情報との違いはソーシャルログインで取得できる情報で整理しています。

公式ドキュメントでは、ユーザー識別子(sub)以外の値を利用者の識別に使わないよう案内されています。メールアドレスは利用者が変更できるため、会員の照合キーにはしないでください。

申請と設定の流れ

1. Client IDを登録する

Yahoo! JAPAN IDでYahoo!デベロッパーネットワークにログインし、アプリケーションを登録してClient IDを発行します。主な入力項目は次のとおりです。

項目

内容と注意点

アプリケーションの種類

サーバーサイドかクライアントサイドかを選ぶ。画面がブラウザで動いていても、認証をサーバーで行うならサーバーサイド

アプリケーション名・サイトURL

利用者の同意画面に表示される前提で、正式なサービス名にする

運営者の情報

事業者名、代表者名、連絡先など

プライバシーポリシー・利用規約のURL

未入力だと、属性取得APIで氏名・メールアドレスを取得できない

コールバックURL

ログイン後に戻ってくる自社のURL。本番と検証の両方を登録する

利用するスコープ

属性取得APIを使うなら、該当のスコープが設定されているか確認する

登録を申請してもClient IDが必ず発行されるわけではなく、発行の可否は提供元が判断すると利用ガイドラインに定められています。プライバシーポリシーの内容は、取得する情報と利用目的を踏まえて、自社の法務・管理部門に確認してください。

2. 属性取得APIの審査を申し込む

氏名やメールアドレスを受け取るには、属性取得API(UserInfoAPI)の審査が必要です。公式ドキュメントでは、次の条件が案内されています。

  • 申し込みには、先に発行したClient IDが必要
  • 申し込めるのは、法人・個人事業主・大学・研究機関
  • 利用者種別が「個人」のアカウントでは属性取得APIを使えない

審査で否認された場合は、指摘された点を直して再申請するか、属性取得APIを使わない形に改修する必要があります。会社のアカウントで申請すること、担当者の退職に備えて管理者アカウントを社内で管理することも決めておきましょう。

3. 自社サイトに組み込む

Webサイトでは、サーバー側で処理するAuthorization Codeフローが基本です。

  1. ログインボタンから、Yahoo! JAPANの認可画面へ移動する
  2. 利用者がログインして同意すると、コールバックURLに認可コードが返る
  3. サーバーで認可コードをアクセストークンとIDトークンに交換する
  4. IDトークンの署名と内容を検証し、ユーザー識別子を取り出す
  5. 必要に応じて属性取得APIで氏名やメールアドレスを取得し、自社の会員と照合する

公式ドキュメントでは、アクセストークンの有効期限は1時間、リフレッシュトークンの有効期限は4週間とされています。認可コードの横取りを防ぐ仕組み(PKCE)にも対応しているので、あわせて設定します。

導入するときの注意点

注意点

対応

属性情報の審査が後回しになる

Client IDを登録したらすぐに申し込む。審査の結果が出るまでは、属性情報なしでも動く作りにしておく

ログインボタンの見た目を自由に変えてしまう

提供される画像の改変は利用ガイドラインで禁止されている。ボタンをサイト名や自社のロゴより大きく目立たせることも認められていない

Yahoo! JAPAN IDのパスワードを預かろうとする

利用者の同意があっても、IDとパスワードを保存・保有してはいけない

メールアドレスで会員を照合する

ユーザー識別子(sub)で照合する。既存会員とは、ログイン中に連携してもらう形で紐づける

管理画面にアラートが出ている

プライバシーやセキュリティの強化にともなう設定の不足が原因のことがある。アプリケーションの管理画面を定期的に確認する

既存会員がいるサイトで、同じ人が二重に登録されないようにする方法はソーシャルログインのアカウント統合で詳しく解説しています。導入時のセキュリティ面の考え方はLogin Plusのセキュリティもご覧ください。

自社で実装する場合と、Login Plusを使う場合

Login Plus のログイン画面。6つのソーシャルログインとパスキーに対応
Login Plus のログイン画面。6つのソーシャルログインとパスキーに対応

Yahoo! ID連携だけなら自社での実装も可能です。ただし、LINEやGoogleなどほかのSNSも並べる場合は、SNSごとに実装と保守が必要になります。

項目

自社で実装

Login Plusを使う

初期開発

SNSごとに個別に実装する

Login Plusを1つ実装すれば、Yahoo! JAPANを含む6つに対応

仕様変更への対応

各SNSの変更に都度追随する

Login Plus側で対応

申請

自社で手順を調べる

申請手順書を無償で提供

利用状況の把握

自社で集計の仕組みを作る

管理画面で利用ID数・ログイン数・利用SNSの内訳を確認

費用の比べ方はソーシャルログインの導入費用、Login Plusの料金は料金ページをご覧ください。

よくある質問

個人のアカウントでも申請できますか?

公式ドキュメントでは、利用者種別が「個人」の場合は属性取得APIを使えず、申し込めるのは法人・個人事業主・大学・研究機関と案内されています。氏名やメールアドレスを受け取るなら、法人または個人事業主として登録してください。

メールアドレスは必ず取得できますか?

属性取得APIの審査を通過し、利用者が同意した場合に取得できます。同意されなかった場合に備えて、メールアドレスを会員登録フォームで入力してもらう手段も残しておくと安全です。

審査にはどれくらいかかりますか?

審査の期間は公式ドキュメントで明示されていません。自社では短くできないため、公開日から逆算して早めに申し込んでください。

既存の会員とYahoo! JAPAN IDを紐づけられますか?

できます。会員がログインした状態で、マイページなどから連携してもらう方法が安全です。メールアドレスが一致しただけで自動的に統合すると、他人の会員情報にログインされる恐れがあります。

Yahoo! JAPAN以外のSNSも同時に入れられますか?

入れられます。Login Plusでは、Yahoo! JAPANを含む6つのソーシャルログインとパスキーに、1つの実装で対応できます。導入の進め方は導入の流れをご覧ください。

Login Plus について

Login Plusは、6つのソーシャルログイン(Apple・Facebook・Google・X(旧Twitter)・Yahoo! JAPAN・LINE)とパスキーに1つの実装で対応できるサービスです。

  • 各SNSへの申請手順書を無償で提供
  • 各SNSの仕様変更にはLogin Plus側で対応
  • 取得した情報をフォームへ自動入力するフォームアシスト機能
  • 管理画面で、利用ID数・ログイン数・利用SNSの内訳を確認
  • 導入期間は約2か月(1か月目に申請と連携の設定、2か月目に実装とテスト)

Yahoo! ID連携の申請の進め方や、自社のシステムに組み込めるかのご相談は、資料請求またはお問い合わせからどうぞ。よくいただく質問はよくある質問にまとめています。

ソーシャルログイン・パスキーの資料をお送りします

対応SNS・料金・実装の流れ・導入事例をまとめています。
「自社に導入できるか」のご相談も、同じフォームから承ります。

送信をもって個人情報の取り扱いに同意いただいたものとみなします。

個別のご相談は からもどうぞ。

送信をもって個人情報の取り扱いに同意いただいたものとみなします。

送信をもって個人情報の取り扱いに同意いただいたものとみなします。