問題タブ [laravel-socialite]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
session - laravelはセッション属性で状態パラメータを返さない
laravel バージョン 5.1.4 と "laravel/socialite":"v2.0.8" を使用しています。ソーシャル ログインしようとすると、このエラーInvalidStateException in AbstractProvider.php line 183:
エラーが発生します。私の macbook pro で動作することは非常に興味深いです。ただし、windows chrome ブラウザでは動作しません。私は問題を見つけようとしましたが、見つけたと思います。私がlaravel_sessionをダンプすると、laravelセッションはここで状態パラメータを返さず、パラメータが返されます。
これは私のmacbookproで撮った写真です
そして、これは窓の上です。
php - Laravel Socialite (Google) エラー: Middleware.php 行 69 の ClientException; エラー 403
Google で認証するように Laravel アプリをセットアップしています。
Google アカウントを選択して Google 情報へのアクセスを許可するように求められ、コールバック関数まですべてが機能しています。
コールバック関数が実行されると (正しく呼び出されます)、次のようになります。
- Middleware.php 行 69 の ClientException:
- クライアント エラー: 403
エラーにつながる私の AuthController のコードは次のとおりです。
どんな助けにも感謝します。Laravel 5.1 と Socialite 2.0 を使用しています。
facebook - Laravel 5.1 - Socialite による Facebook 認証
プロジェクトに Facebook ログインを実装しようとしていますが、次のエラーが表示されます。
Middleware.php 行 69 の ClientException: クライアント エラー: 400
/Applications/MAMP/htdocs/laratest/vendor/guzzlehttp/guzzle/src/Middleware.php 69 行目
Middleware::GuzzleHttp{closure}(object(Response)) Promise.php 行 199 で
Promise::callHandler('1', object(Response), array(object(Promise), object(Closure), null)) で Promise.php 行 152
Promise::GuzzleHttp\Promise{closure}() で TaskQueue.php 行 60
CurlMultiHandler.php 行 96 の TaskQueue->run() で
私が経験した手順:
composer require laravel/socialite
&composer update
.私のconfig>services.appでは、
'facebook' => [
'client_id' => env('FB_CLIENT_ID'),
'client_secret' => env('FB_SECRET_ID'),
'redirect' => 'http://localhost.com:8888',
],
config>app.php
Laravel\Socialite\SocialiteServiceProvider::class,
に&'Socialite' => Laravel\Socialite\Facades\Socialite::class,
を追加ルートを正常にセットアップします。
Route::get('auth/facebook', 'Auth\AuthController@redirectToProvider');
Route::get('auth/facebook', 'Auth\AuthController@handleProviderCallback');
ブレード ファイルでリンクを正常にセットアップします。
Login with Facebook
Controller>AuthController.phpに、次を追加しました。
/li>またユーザーテーブル:
/li>
編集:一部
をコメントアウトする$user = Socialite::driver('facebook')->user();
と、リダイレクトされますlocalhost.com/auth/facebook
編集 2:
私の.env
ファイル:
'facebook' => [
FB_CLIENT_ID => '###',
FB_SECRET_ID => 'this-is-secret!',
],
facebook - Laravel 5.1 - Socialite - ユーザーの取得
公式のLaravel Docs 5.1 - Socialite を使用して、ルーティングを設定し、AuthController を編集しました。
それは完全に機能し、戻ります
http://domain.dev/auth/facebook/callback?code=AQDLFlYr...
次に、 Laracasts の Socialite - Laravel 5.0を使用して、適切な Facebook 認証に変更してみました。ビデオの(具体的には12.11分)まですべてを行いました。(12.11 で、彼は 15 秒で内容を要約します)。これが私がやろうとしていることです。
今、私を次のように変更AuthController
すると:
...そして、私のAuthenticateUser class
ようなものを持っています:
*UserRepository is currently empty.
を使用すると、画面*First dd
で受け取ります。False
を利用する場合は*Second dd
、 を受け取りTrue
ます。
を使用*Third dd
しても、何も受け取りません。
これらのすべての例で、今、私はhttp://domain.dev/auth/facebook?code=9329409329042
.
編集:
追加
return
したところ、リンクに が含まれるようになりましたが、 -?code=9390249032...
を使用すると、まだ何も返されません*Third dd
dd($user)
私はここまで来ることができました:
/li>
.. そしてリンクが含まれています?code=9943290...
基本的に、
$user = $this->socialite->driver('facebook')->user();
dd($user) が何も返さないため、機能していない/変換していない部分です..
php - Laravel 5.1 - Socialite を介した Facebook (クライアント エラー: 400)
Laracast (Laravel 5.0 - Socialite)でこのチュートリアルを使用して、特に12.11 分まで、すべてを正常にセットアップしました。ただし、Laravel 5.1 を使用しています。
ルートを定義しましたが、取得したトークンを使用してユーザーの詳細を取得しようとしているだけなので、現在コールバック プロバイダーをコメントアウトしています。
/li>に追加された必需品
/li>config>services.php
:
とりあえず同じページ( )に戻ることにしましたauth/facebook
。domain.devv/auth/facebook
そのため、テスト用としてリターンを設定しました。
私の
/li>AuthController.php
では、次のように設定しました。そして最後に、私の中で
/li>AuthenticateUser.php
:
今、私はLogin with Facebook
リンクをクリックしてリダイレクトされますdomain.dev/auth/facebook?code=943299043290...
のみを使用すると*First dd
(他のすべてのコメント行がコメント化されている場合)、 が返されますfalse
。
*Second dd
(行にコメントを付けて)のみを使用すると$user = $this->socialite->driver('facebook')->user();
、 が返されますtrue
。
したがって、すべてが完璧に機能し、 を通過しexecute()
、次に を通過しgetAuthorizationFirst()
ます。最後に、取得したトークンを使用して に戻ります。execute()
このトークンもリンクに含まれています ( domain.dev/auth/facebook?code=943299043290...
)。
私の問題はここで発生します:
2 番目にコメントを解除$user = $this->socialite->driver('facebook')->user();
すると、エラーが発生します。
Middleware.php 行 69 の ClientException: クライアント エラー: 400
1. /Applications/MAMP/htdocs/laratest/vendor/guzzlehttp/guzzle/src/Middleware.php 69 行目
2. at Middleware::GuzzleHttp{closure}(object(Response)) Promise.php 行 199
3. at Promise::callHandler('1', object(Response), array(object(Promise), object(Closure), null)) Promise.php 行 152
4. TaskQueue.php 60 行目の Promise::GuzzleHttp\Promise{closure}() で
5. CurlMultiHandler.php 行 96 の TaskQueue->run()
この行($user = $this->socialite->driver('facebook')->user();
)は、何らかの理由で機能しません(チュートリアルでは機能しますが(15秒の簡単な説明の場合は最小12.11))。
を使用するたびに$user = $this->socialite->driver('facebook')->user();
エラーが発生ClientException in Middleware.php line 69: Client error: 400
し、もちろん取得できませんdd($user)
。
追加するには、ClientException エラーが表示されても、リンクにはまだコードがあります: ( domain.dev/auth/facebook?code=943299043290...
)
php - Laravel Socialite アプリをインストールした後、空白のページが表示される
私はlaravelを初めて使用します。composerを介してLaravel Socialiteをインストールし、config/app.phpで必要な変更を行いますが、アプリを実行すると空白のページが表示され、app.phpファイルは
この問題から抜け出すのを手伝ってください。
php - Laravel と Socialite で Google App Engine を使用する
ソーシャルライト経由の Google oauth ログインに問題があります。現在ローカルで運用されているアプリを GAE に移行しています。
Laravel 5.1 の shpasser gae パッケージを使用していますが、正しく機能しています。最初のログイン リクエストでは、Google の許可画面が正常に表示されますが、コールバックで curl エラーが発生します。
Laravelが使用するGuzzleパッケージの証明書の場所をこれに変更してみました
しかし、まだ同じエラーがあります。php.ini ファイルにもこれがあります
おそらくSocialiteなしでログインをやり直し、Guzzleを使用するだけで、まだエラーが発生するかどうかを確認する以外に、オプションが不足しています。
更新ドキュメントでは、curl lite と full curl を同時にアクティブにすることはできないと記載されています。これは変更されたためextension = "curl.so"
、php.ini ファイルにのみ含まれています。問題は解決しませんが、変更する必要があります
php - モバイル アプリケーションからトークンを使用した REST API 認証
Android アプリケーション用のバックエンド REST API を構築しています。ユーザーを認証し、トークンを に送信しますAuthorization HEADER
。のヘッダーからトークンを抽出していますcustom middleware
。今、トークンでユーザーを取得する方法を提供しているかどうか、Socialite に確認しようとしました。ユーザーが存在しない場合は、ユーザーを作成します。それ以外の場合は、Android アプリケーションに成功として応答を送信します。
現在、Socialite ではgetUserByToken($token)
、保護されているため、特定のメソッドを実装できません。
私は に堪能ではありませんlaravel
。誰かが私を導くことができますか?
ありがとう、パヴァン
laravel-socialite - Facebookアプリの「アプリシークレットが必要」設定が有効になっていると、Laravel Socialiteが機能しない
セキュリティ上の理由から、Facebook アプリで「Require App Secret」を有効にすることにしました。その後、クラス " " の^2.0
メソッド " " で appsecret_proof を送信していないため、Laravel Socialite バージョン " " が機能していないことがわかりました。getUserByToken
Laravel\Socialite\Two\FacebookProvider
私は簡単な修正を行うことにしました:
この要件に対するより良い解決策はありますか? このユースケースの公式パッチはありますか?
ありがとう