問題タブ [passport-facebook]

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.

0 投票する
0 に答える
147 参照

node.js - Expressjsとpassportjsを使用したサーバー側でのPhonegap Facebook認証

nodejs と expressjs を使用して Web サーバーを構築し、passportjs を使用して認証を行いました。phonegap を使用してモバイル アプリケーションを構築し、もちろん既存の Web サーバーを使用してデータをクエリしたいと考えています。サーバーで Facebook 接続を使用してユーザーを認証する必要があります。その後、セッションが作成され、API を照会できます。私は解決策をたくさん探しましたが、何も見つかりませんでした。InAppBrowser と ChildBrowser を見ましたが、API を照会するためにセッションを維持する必要があるため、それらがうまくいくとは思いません。どんな助けでもいただければ幸いです

ありがとう

0 投票する
0 に答える
248 参照

facebook - Facebook Graph は、passport-facebook を使用して保存された値とは異なる値を返します

ユーザーがFacebookアカウントを使用してログインし、ID、名前、電子メールを保存するアプリケーションがあります。私はhttps://github.com/jaredhanson/passport-facebookを使用しています

問題は、アプリケーションも使用している facebook の友達を取得する必要があることですが、facebook グラフによって返される「id」が、アプリケーションで保持しているものと一致しません。

https://graph.facebook.com/me/friends?fields=id,name&access_token=xpto

Passport-facebook で受信した「profile.id」は、facebook グラフ フィールド「id」とは異なります

0 投票する
1 に答える
123 参照

javascript - Facebook アプリがユーザー名を提供しない

Facebook を使用してユーザーを Web アプリにログインさせる PassportJS ベースのコードがあります。Facebook で 2 つのアプリを定義しています。アプリの1つを使用すると、ユーザー名、出身地など、ユーザーに関するすべての情報を取得しています(この場合、ユーザーは私です)。ただし、別のアプリを使用すると(アプリIDとシークレットのみを変更します) 、コードの残りの部分は同じです) ユーザー プロファイルの詳細の一部は利用できません。

ここで何が問題なのか分かりますか? アプリの設定の問題でしょうか?

0 投票する
6 に答える
10507 参照

node.js - node.jsでのパスポート認証後にjsonをレスポンスとして送信する方法

このgit exampleを試しています。

プロジェクトに統合するとうまくいきますが、達成したいのは、successRedirect : '/profile' & failureRedirect : '/signup' ではなく、json をクライアント/リクエストへの応答として送信することです。

jsonを送信することは可能ですか、それとも同じものを取得する他の方法はありますか?

どんな助けでも感謝します、TU

0 投票する
2 に答える
367 参照

facebook-graph-api - Facebookログインとローカルログインを使用したexpressjsパスポート

ExpressJS に Passport ミドルウェアを使用していますが、passport-local 戦略とパスポート-facebook 戦略の両方を一緒に使用する方法が見つかりません。ユーザーが自分のサイトでアカウントを作成し、必要に応じて Facebook にログインできるように設定して、サイトを使用している友達を確認できるようにしたいと考えています。ただし、facebook api データが返されたときにログインしているユーザーが何であるかはわかりません。

誰かがアカウントを作成すると、そのデータ (ユーザー名、電子メールなど) がデータベースに保存されます。その後、Facebook にログインしたら、データベースとセッションを更新して、Facebook API から返された情報の一部 (facebookID、AccessToken など) を含めたいと思います。これはどのように達成できますか?

返された Facebook データにアクセスするために使用できるコードを次に示します。ただし、User.findOne の行は、データベース エントリが以前に facebook と同期されている場合にのみ機能します。req.session データを渡して、現在ログインしているユーザーを特定し、プロファイルを更新する方法はありますか??

0 投票する
1 に答える
422 参照

node.js - PassportJS および Facebook Opengraph API バージョン 2.0 エラー

私は最近パスポート ライブラリを使い始めたばかりで、全く初心者です。ただし、新しく作成した Facebook アプリを使用してログインすると、次のエラーが発生します。

500 FacebookGraphAPIError: (#12) ユーザー名はバージョン v2.0 以降では非推奨です

少し調査したところ、Facebook のオープン グラフ API が「ユーザー名」フィールドをサポートしなくなったことがわかりました。ただし、パスポート ライブラリはバージョン 2 をサポートしていないようです。

0 投票する
1 に答える
3272 参照

javascript - リクエストごとに、passport.serializeUser が実行されるのはなぜですか?

ストロングループのループバック フレームワークで API ビルドを保護するために、passport.js + パスポート フェイスブック トークンを使用しています。

正常にデシリアライズされた後、パスポートがデシリアライズされたユーザーを再度シリアライズするのはなぜですか? また、passport.authenticate メソッドはすべてのリクエストで呼び出されます。私は何を間違っていますか?

ノードのログは次のとおりです。

jsコードは次のとおりです。

0 投票する
1 に答える
8080 参照

node.js - req.session.passport および req.user blank 、および req.isAuthenticated は、passport-facebook を使用して最初のログインが成功した後に false を返します

Facebook からの最初の正常なログインと、passport-facebook 1.0.3 および express 4.6.1 を使用したログイン リダイレクト コールバックの後、req.session.passport および req.user には、シリアル化呼び出し中に設定された値が含まれます (これは戦略から取得します)。しかし、サイト上の異なるルートへのその後の訪問では、req.session.passport と req.user は空白であり、req.isAuthenticated() は false を返すため、FB からの最初のログインが成功した後、他のすべてのルートでの ensureAuthentication メソッドは失敗します。私はクラスターセットアップを使用していないので、メモリストアはこれを処理するのに十分であると信じています。エクスプレス構成は問題ないようです(つまり、順序)、これが私のエクスプレス構成です

これは、最初の成功したログインとリダイレクトの req.session オブジェクトです。req.user には、req.session.passport.user と同じデータが含まれています。

これは、以前に戦略内およびシリアライゼーション呼び出し内の done() コールバックに関連付けた情報です。ログインとコールバックが成功した後、 res.redirect を使用してユーザーを別のルートにリダイレクトしますが、そのルートからのリクエストにはセッションIDが含まれています(セッションストアの問題ではないと思います)が、req.userフィールドは存在しません (passport.initialize() および Passport.session() ミドルウェアが認証される要求を見つけられないためである可能性があります) および req.session.passport フィールドは空です。req の console.log からの詳細は次のとおりです。物体 。

これが私の逆シリアル化方法です

ここに私のシリアライズ方法があります

これは私の開発に大きな障害を引き起こしています。どうすればこれを整理できますか??