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

最新の記事

プロフィール

流されるままにウェブ業界で仕事しています。主にLAPP環境でPHPを書いています。最近はjQueryで遊んでいます。
※動作確認について