前提・実現したいこと
cakephp2+opauthプラグインでTwitter apiを使ったログイン機能を作成しようとしています。
発生している問題・エラーメッセージ
twitterからのコールバックメソッドを実装したところ、
Twitterから送信される戻りのデータが以下のようなデータとなりました。
戻りのデータには、名前やメールアドレスなどが入っていると思ったのですが、
以下のような文字列だけが送信されてきました。(文字列は改変してあります)
名前などの情報を取るにはどうしたらよいでしょうか?
Array ( [opauth] => mlsZV9iYWNrZ3JvdW5kX2ltYWdlX3Vy3JvdW5kX3RpbGUiOjAsInByb2ZpbGVfaW1hZ2VfdXJsIjoiaHR0cDpcL1wvcGJzLnR3aW1nLmNvbVwvcHJvZmlsZV9pbWFnZXNcLzk2NzcwMjQzMzAyMjM5ODQ2NFwvM044UUNxMjlfbm9ybWFsLmpwZyIsInBydvb2t3Xsh0ZW5kZWRfcHJvZmlsZSI6MCwmaWxlXeyJhdXRoIjp7InVpZCI6OTY3NzAxMTsdcxODAzNTM3NDA4LCJpbmZvIjp7Im5hbWUiOiJzaGluaWNoaSBuYWthNoaW1pa2FuYV9iZGVmYXuaWNrbVsdF9wcm9maWxlIjoxLCJkZWZhdWx0X3Byb2ZpbGVfaW1hZ2UiOjAsImZvbasfGxvd2luZyI6MCasdfwiZm9sbG93X3JlcXVlc3Rfc2VusdCI6MCwibm90aWZpY2F0aW9ucyI6MCwidHJhbnNsYXRvcl90eXBlIjoibm9uZSIsImVtYWlsIjoiY2hpbWlrYW5hQGdtYWlsLmNvbSJ9Y2sifQ== )
php Controller
コントローラに記述したコールバック関数は以下の通りです。以下の実行結果が上の通りとなります。
php
1 public function twitter_callback() { 2 pr($this->request->data); 3 }
OpauthのConfig値は以下の通り
php
1Array 2( 3 [path] => /auth/ 4 [debug] => 1 5 [callback_url] => /auth/callback 6 [callback_transport] => post 7 [security_salt] => セキュリティーsalt 8 [strategy_dir] => /www/app/Plugin/Opauth/Strategy/ 9 [Strategy] => Array 10 ( 11 [Twitter] => Array 12 ( 13 [key] => キー文字列 14 [secret] => シークレット文字列 15 ) 16 17 ) 18 19) 20
OpauthのConfig値は以下の通り
php
1Array 2( 3 [path] => /app/auth/ 4 [debug] => 1 5 [callback_url] => /auth/callback 6 [callback_transport] => post 7 [security_salt] => セキュリティーsalt 8 [strategy_dir] => /www/app/Plugin/Opauth/Strategy/ 9 [Strategy] => Array 10 ( 11 [Twitter] => Array 12 ( 13 [key] => キー文字列 14 [secret] => シークレット文字列 15 ) 16 17 ) 18 19) 20
root.phpの記載は以下
php
1Router::connect('/auth/callback', array('controller' => 'users', 'action' => 'twitter_callback'));
補足情報(FW/ツールのバージョンなど)
twitter apiの設定では、Permissions : ReadOnlyとし、Request email addresses from usersにチェックを入れています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/12 00:13