質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

1016閲覧

Laravel Socialiteを用いてTwitterログインを実装する時にcould not authenticate you[401]が出る

uemura_sou

総合スコア12

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

Twitter

Twitterは、140文字以内の「ツイート」と呼ばれる短文を投稿できるサービスです。Twitter上のほぼ全ての機能に対応するAPIが存在し、その関連サービスが多く公開されています。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2019/07/15 05:40

前提・実現したいこと

Laravel Socialiteを用いてtwitterログイン機能を実装しようとしています。
Twitter developer appはすでに作成していて、twitter_client_idとtwitter_client_secretも取得しています。
https://qiita.com/tiwu_official/items/8ac86977344a1a97f9d2
こちらの記事通りの作業は進めてあります。

発生している問題・エラーメッセージ

Received HTTP status code [401] with message "{"errors":[{"code":32,"message":"Could not authenticate you."}]}" when getting temporary credentials.

該当のソースコード

php

1// web.php 2Route::get('auth/twitter', 'Auth\SocialAuthController@redirectToProvider'); 3Route::get('auth/twitter/callback', 'Auth\SocialAuthController@handleProviderCallback'); 4Route::get('auth/twitter/logout', 'Auth\SocialAuthController@logout'); 5 6// welcome.blade.php 7<a href="https://github.com/laravel/laravel">GitHub</a> 8<a href="/auth/twitter">Twitterログイン</a> 9 10// SocialAuthController.php 11<?php 12namespace App\Http\Controllers\Auth; 13use App\User; 14use Auth; 15use Socialite; 16use App\Http\Controllers\Controller; 17use Illuminate\Foundation\Auth\AuthenticatesUsers; 18 19class SocialAuthController extends Controller 20{ 21 use AuthenticatesUsers; 22 protected $redirectTo = '/'; 23 24 /** 25 * ユーザーをTwitterの認証ページにリダイレクトする 26 * 27 * @return Response 28 */ 29 30 public function redirectToProvider() 31 { 32 return Socialite::driver('twitter')->redirect(); 33 } 34 /** 35 * Twitterからユーザー情報を取得する 36 * 37 * @return Response 38 */ 39 40 public function handleProviderCallback() 41 { 42 try { 43 $user = Socialite::driver('twitter')->user(); 44 } catch (Exception $e) { 45 return redirect('auth/twitter'); 46 } 47 48 $authUser = $this->findOrCreateUser($user); 49 50 Auth::login($authUser, true); 51 52 return redirect()->route('home'); 53 } 54 55 private function findOrCreateUser($twitterUser) 56 { 57 $authUser = User::where('twitter_id', $twitterUser->id)->first(); 58 59 if ($authUser){ 60 return $authUser; 61 } 62 63 return User::create([ 64 'name' => $twitterUser->name, 65 'handle' => $twitterUser->nickname, 66 'twitter_id' => $twitterUser->id, 67 'avatar' => $twitterUser->avatar_original 68 ]); 69 } 70 71 public function logout() 72 { 73 Auth::logout(); 74 return redirect()->route('login'); 75 } 76 77 public function __construct() 78 { 79 $this->middleware('guest')->except('logout'); 80 } 81} 82 83// config/services.php 84'twitter' => [ 85 'client_id' => env('TWITTER_CLIENT_ID'), 86 'client_secret' => env('TWITTER_CLIENT_SECRET'), 87 'redirect' => env('CALLBACK_URL') 88], 89 90// .env 91TWITTER_CLIENT_ID=秘匿情報 92TWITTER_CLIENT_SECRET=秘匿情報 93CALLBACK_URL=http://127.0.0.1:8000/auth/twitter/callback

試したこと

php artisan cache:clear
php artisan config:clear
php artisan route:clear

twitter developer appサイトで

Website URL
https://ikkoku-do.herokuapp.com/

Callback URL
https://127.0.0.1:8000/auth/twitter/callback
https://127.0.0.1:8000/auth/twitter/callback/
http://127.0.0.1:8000/auth/twitter/callback/
https://127.0.0.1/auth/twitter/callback
http://127.0.0.1/auth/twitter/callback
http://127.0.0.1:8000/auth/twitter/callback

Terms of service URL
https://ikkoku-do.herokuapp.com/term
Privacy policy URL
https://ikkoku-do.herokuapp.com/privacy

Access permission
Read and write
Additional permissions
Request email address

補足情報(FW/ツールのバージョンなど)

Laravel/Framework: "5.8.*"
laravel/socialite: "^4.1"

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

時間がたったらいけました。

投稿2019/07/15 07:52

uemura_sou

総合スコア12

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問