https://qiita.com/hareku/items/ea09602bf40bf0a42040を参考にしてやっています。
エラーの内容としては
Type error: Argument 1 passed to League\OAuth1\Client\Server\Server::getTokenCredentials() must be an instance of League\OAuth1\Client\Credentials\TemporaryCredentials, null given, called in /vendor/laravel/socialite/src/One/AbstractProvider.php on line 113
というもので
$temp = $this->request->session()->get('oauth.temp');
ここの行でSessionからoauth.tempが取得できなくnullとなってしまいます。
server側を127.0.0.1:8000のphp artisan servで動かしており、
client側はnuxtで127.0.0.1:3000で動かしております。
処理手順としては
[1]Client : /redirectにアクセスするとserver側のauth/twitter/redirect
へGETでAPI通信
[2]server : redirect用のURL変換
[3]Client : token月のURLをもらってtwitterへ行き認証 /callbackへ戻る
[4]Client : tokenがquerystringで付いているのでそれをつけてserverのcallbackへ送る
[4]の処理のところで
$user = Socialite::driver('twitter')->user();
をしており、ここでSessionにoauth.tempがないので上記のエラーが出ています。
1~4のserver処理を手動でやるとしっかりSessionに入っているのですがclientとserverを組み合わせてやるとできません。
[1]の通信のSocialite::driver('twitter')->redirect()->getTargetUrl()
でSessionに書かれると思うんですがそれが引き継げていない?状況なのかなと思います。
どなたかご教授ください。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/04/25 17:07
2019/08/13 17:29 編集