Yahooを使用したログインは、Yahooの認証サーバーとのやりとり回数が多い点を除けば、さほど難しくありません。ドキュメントは日本語で理解しやすいと思います。
Yahooログインには JavaScript SDK が用意されていますが、今回はサーバーサイドでのログインを説明しますので、SDK を使用しません。また、PHP向けの YConnect というライブラリもありますが、私の環境では導入がうまくいきませんでした(ログインするコードを自力で書くことにした理由です)。
参考
Yahoo!JAPANデベロッパーネットワーク https://developer.yahoo.co.jp
アプリケーションの登録
Yahooのログイン(Yahoo! ID連携)を使用するには、アプリケーション(Webサイト)を登録しておく必要があります。アプリケーションの登録には Yahoo!JAPAN のアカウントが必要なので、アカウントを持っていない方は、先にアカウントを作成してください。
Yahoo!JAPANデベロッパーネットワークのアプリケーションの管理をWebブラウザーで開きます。
アプリケーション一覧が表示されます。初めての方は、一覧に何も表示されていないはずです。「新しいアプリケーションを開発」をクリックします。
アプリケーション情報の入力画面になります。
「Web APIを利用する場所」の「アプリケーションの種類」から、「サーバーサイド(Yahoo!ID連携 v2)」を選択します。
「アプリケーションの基本情報」欄では、まず「連絡先メールアドレス」を選択します。
「アプリケーション名」は50文字以内で、アプリケーションの名前を入力します。
「サイトURL」にサイトのURLを入力します。
「アプリケーションの説明」は必須ではありません。
「利用するスコープ」の「マイ・オークション関連の機能」はチェックを外したままでかまいません。
ガイドラインの「同意する」にチェックを入れて、「確認」をクリックします。
確認画面が表示されるので、「登録」をクリックします。
アプリケーション情報の確認
登録完了画面が表示されます。
ページには「Client ID」と「シークレット」が表示されています。この2つの文字列は、認証に必要になります。シークレットは特に重要な文字列ですので、他人に知られないよう注意します。
画面の下方、「4.登録したアプリケーションの情報を再確認する」の欄に、「アプリケーションの詳細」リンクがあるのでここをクリックします。アプリケーションの詳細ページが表示されます。このページでも「Client ID」や「シークレット」を確認できます。
コールバックURLの登録
コールバックURLは、他のSNSにおけるリダイレクトURLと同じです。
Yahooの認証ページでユーザーがログインした後、コールバックURLに処理が戻ってきます。あらかじめ登録したURLにだけコールバック可能です。
コールバックURLを入力したら、「更新」をクリックします。
以上でアプリケーションの登録は完了です。