2016-05-08 3 views
2

私は単純なウェブサービスを持っています。私はFacebookやGoogleでLoopbackjsを使ってソーシャルログインを追加したいと思います。

このリンクの例は、すでにhttps://github.com/strongloop/loopback-example-passportで編集しています。この手順の手順は、https://docs.strongloop.com/display/public/LB/Third-party+login+using+Passportです。
私の問題は、ログイン後にユーザー情報を取得する必要があることです。これにより、ユーザーモデル上のすべての後続の編集要求を所有ユーザーエンティティに直接送信できるようになります。
Loopbackjs Facebookとのソーシャルログイン

ユーザーXが自分のアプリケーションにアクセスしたい:

  1. "example_site_address/auth/facebook"のXリクエスト。
  2. Xは "www.facebook.com/dialog/oauth?response_type=code & REDIRECT_URI = example_site_address /認証/ログインfacebook /コールバック&範囲=メール&のclient_id = XXXXXXX" をリダイレクトします。
  3. 受諾後、彼は "example_site_address/auth/facebook/callback & scope = email & client_id = XXXXXXX"にリダイレクトします。
  4. それから彼は再びこのリンクは、クライアントに彼がログインしているユーザーのエンティティを与える必要があり、「example_site_address/success_fb」にリダイレクトされます。グーグルを使用して

私が取得する可能性があるため、この問題が解決されますクッキーからのAccessToken情報を所有しているユーザーを見つけて、それをクライアントに送り返すことで、ユーザーIDを保存することができ、次のすべての要求がこのユーザーのようになる可能性があります。
Facebookを使用しています。ログインに関するCookieが暗号化されているため、これを行うことはできません。

私はこの種のアプリケーションでは初心者ですので、私の戦略が間違っている可能性があります。これを手伝ってもらえますか?

+0

クライアントはIonicアプリケーションです – darioSka

+0

[LoopBack Example](https://github.com/strongloop/loopback-example-passport)は[cookie-parser](https://github.com/expressjs/)を使用しています。 cookie-parser)パッケージ([server/server.js](https://github.com/strongloop/loopback-example-passport/blob/master/server/server.js)を参照してください)。クッキーは署名されていますが、 'req.signedCookies'を介してアクセスできます。 –

+0

@IvanSchwarzありがとうございます!私は 'req.signedCookies'を使って解決しました – darioSka

答えて

1

LoopBack Exampleは、cookie-parserパッケージ(server/server.js参照)を使用しています。クッキーは署名されていますが、あなたはreq.signedCookiesプロパティでアクセスできます。

関連する問題