PassportJS を使用するNode.jsサーバーがあり、Google、Facebook、Twitterを介したソーシャルログインを使用しています。
Node.jsサーバーは、PassportJSミドルウェアを使用してルートを認証し、データを安全に提供するAPIをホストします。 APIは、ユーザーがGoogle、Facebook、Twitterを介して「ログイン」し、続いて私のサービスで自分のアカウントを作成するiOSアプリケーションを提供するために存在します。
それぞれの会社のモバイルSDKがクライアントとの間の直接通信用である場合、どうすればこれを達成できますかサーバー?私は本質的に私のクライアントが私のサーバーと通信する方法を望んでいますサーバーと通信します。全体的な考え方も間違っているかどうか教えてください。
それらのプロセスは次々に起こりませんか?ユーザーとして私にとって理にかなっているワークフローは次のとおりです。
使用するモバイルAPIが(Pocketのように)認証を提供する場合、認証と許可の取得を同時に実行できる可能性があります。 PassportJSを使用したことはありませんが、scope
オプションを使用すると、特定のサービスを介してログインするときにアクセス許可を要求できるようです。これを行う場合、取得するユーザープロファイルオブジェクトには、さらにFacebookリクエストを行うために使用できるアクセストークンが含まれていると思います。
このアクセストークンがクライアントに保存されているかサーバーに保存されているかは、ユーザーに代わってAPIリクエストを行うときにサーバーに渡される限り、違いはありません。