ソーシャルログイン

Yahoo!のソーシャルログイン(Yahoo! ID連携)の導入方法|申請の流れ

Yahoo! JAPAN IDでのソーシャルログインは、Yahoo! ID連携を自社サイトに組み込んで実現します。利用者が同意すれば、ユーザー識別子(sub)に加えて氏名・メールアドレス・住所などを受け取れます。ただし、氏名やメールアドレスを受け取るには属性取得APIの審査を通す必要があり、その申し込みにもClient IDが要ります。導入期間は実装よりも申請の順番で決まるので、Client IDの登録を最初に済ませておきましょう。

Yahoo! JAPAN IDでのソーシャルログインは、Yahoo! JAPANが提供するYahoo! ID連携を自社サイトに組み込んで実現します。Yahoo! ID連携はOpenID Connectに準拠した仕組みで、利用者が同意した範囲で、氏名やメールアドレス、住所などの登録情報を受け取れます。

ソーシャルログインそのものの仕組みやメリット・デメリットはソーシャルログインとはで解説しています。

Client IDの登録と属性取得の審査は、実装より先に済ませる

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

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

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

ソーシャルログイン・パスキーの導入をご検討中の方へ

LINE・Google・Apple・Yahoo! JAPAN・Facebook・X のログインとパスキーに、1つの実装で対応できます。対応SNS・料金・導入の流れを資料にまとめています。

Yahoo! ID連携でできること

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

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

Yahoo! JAPANはショッピングやオークションの利用者を抱えているため、ECなど購買に関わるサイトとは利用者層が重なりやすいサービスです。どのSNSを導入するかの決め方はソーシャルログインの選び方と取得できる情報、6サービスの違いと組み合わせ方は6サービスの比較と組み合わせ方をご覧ください。

Yahoo!のソーシャルログインで取得できる情報

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

属性情報は同意した範囲だけ届くこと、会員の識別にはsubだけを使うこと、メールアドレスは照合キーにしないことを示した図。
受け取った情報の扱い方

スコープ

取得できる主な情報

備考

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フローを使うのが一般的です。

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

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

導入するときの注意点

審査は早く申し込むこと、ボタン画像を改変しないこと、パスワードを保存しないこと、subで会員を照合することを示した図。
導入時に守ること

注意点

対応

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

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の料金は料金ページをご覧ください。

よくある質問

Yahoo!のソーシャルログインで取得できる情報は?

ユーザー識別子(sub)は、Client IDを登録すれば取得できます。氏名(漢字・カナ)、ニックネーム、プロフィール画像、性別、生年月日、メールアドレス、住所などは、属性取得APIの審査を通過したうえで、利用者が同意した範囲だけ受け取れます。会員の識別にはsubを使いましょう。

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

利用者種別が「個人」の場合は属性取得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つの実装で対応できるサービスです。Yahoo! JAPANでログインした利用者の情報は、ログイン後に受け取る認可コードでLogin Plusのユーザー情報取得APIを呼ぶと、プロバイダ名・sub・名前・メールアドレス・画像としてまとめて受け取れます。

  • 取得した情報をフォームへ自動入力するフォームアシスト機能
  • 導入期間は平均で約2か月(1か月目に申請と連携の設定、2か月目に実装とテスト)、最短で3週間

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

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

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

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

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

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

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