Yahoo! APIの利用
クライアントID、シークレットID発行、コールバック先設定
クライアントID、シークレットID発行
Yahooアカウント作成後、ログイン。
アプリケーションの管理へ移動。
新しいアプリケーションを開発を押し、アプリケーション情報の入力へ移動。
アプリケーション情報の入力
Web APIを利用する場所
アプリケーションの種類:
(必須)🔘 サーバーサイド(Yahoo! ID連携 v2) を選択
アプリケーションの基本情報
連絡先メールアドレス:
(必須)Yahooアカウントのメールアドレスを設定
アプリケーション名:
(必須)アプリケーションの名称(Yahooログイン同意画面に表示されるアプリの名前)を設定
サイトURL:
(必須)サイトのURL(Yahooログイン同意画面に表示されるURL)を設定
ガイドラインを確認する
ガイドラインに同意しますか?:
(必須)🔘 同意する を選択
確認を押し、入力内容の確認へ移動。
入力内容の確認
登録を押し、登録完了へ移動。
登録完了
発行されたクライアントID(Client ID)、シークレットID(シークレット)を取得。
コールバック先設定
アプリケーションの管理からアプリケーションの詳細へ移動。
アプリケーションの詳細
アプリケーション情報
コールバックURL:
APIリクエスト時のレスポンスを受け取るURLを設定
コールバック先を(仮)https://example.com/callbackとする。
更新を押し、更新。
エンドポイント
PHP
// リクエストURL
$url = 'https://auth.login.yahoo.co.jp/yconnect/v2/authorization';
// リクエストパラメタ
$data = [];
// レスポンスタイプ code
$data['response_type'] = 'code';
// Client ID
$data['client_id'] = 'xxx...xxx';
// コールバックURL
$data['redirect_uri'] = 'https://example.com/callback';
// スコープ
// penid:ユーザ識別子、profile:姓名・生年・性別、email:メールアドレスと確認済みフラグ、address:登録住所情報
$data['scope'] = 'openid profile email address';
// ログイン・同意画面
// UserAgentに適した形でページを表示
$data['display'] = 'page';
// https://auth.login.yahoo.co.jp/yconnect/v2/authorization?response_type=code&client_id=xxx...xxx&redirect_uri=https%3A%2F%2Fexample.com%2Fcallback&scope=openid+profile+email+address&display=page
echo $url . '?' . http_build_query($data);
生成されたURLにアクセスすると、アプリケーション名・サイトURLが表示され、サービスに提供するスコープ(ユーザ識別子、姓名・生年・性別、メールアドレスと確認済みフラグ、登録住所情報)の同意を求められる。
ログアウト状態であればログイン画面が先に表示される。
コールバック
ログイン成功時、認可コードを返却。
https://example.com/callback?code=xxxxxxxx